🔵 عنوان مقاله
Don't Give Postgres Too Much Memory
🟢 خلاصه مقاله:
خلاصهای از دیدگاه Tomas این است که در Postgres همیشه «حافظه بیشتر=بهتر» نیست. بالا بردن بیمحابای maintenance_work_mem و work_mem میتواند اندازه مجموعه کاری را بزرگتر از CPU cache کند و با افزایش cache miss، سرعت مرتبسازی و هش را کم کند. علاوه بر آن، تخصیصهای بزرگ، بار مدیریت حافظه روی OS را زیاد میکند و در بار همزمان، چون work_mem بهازای هر نود و هر کوئری اعمال میشود، مصرف واقعی حافظه چندبرابر شده و افت کارایی رخ میدهد. نتیجه عملی: مقادیر را معقول و مرحلهای تنظیم کنید، با سناریوهای واقعی بنچمارک بگیرید، در صورت نیاز بهصورت موردی با SET مقدار work_mem را برای عملیات سنگین بالا ببرید، و به تعامل CPU cache و مدیریت حافظه OS توجه کنید؛ همیشه مقدار بیشتر سریعتر نیست.
#Postgres #PostgreSQL #DatabasePerformance #work_mem #maintenance_work_mem #CPUCaches #OSMemory
🟣لینک مقاله:
https://postgresweekly.com/link/176669/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Don't Give Postgres Too Much Memory
🟢 خلاصه مقاله:
خلاصهای از دیدگاه Tomas این است که در Postgres همیشه «حافظه بیشتر=بهتر» نیست. بالا بردن بیمحابای maintenance_work_mem و work_mem میتواند اندازه مجموعه کاری را بزرگتر از CPU cache کند و با افزایش cache miss، سرعت مرتبسازی و هش را کم کند. علاوه بر آن، تخصیصهای بزرگ، بار مدیریت حافظه روی OS را زیاد میکند و در بار همزمان، چون work_mem بهازای هر نود و هر کوئری اعمال میشود، مصرف واقعی حافظه چندبرابر شده و افت کارایی رخ میدهد. نتیجه عملی: مقادیر را معقول و مرحلهای تنظیم کنید، با سناریوهای واقعی بنچمارک بگیرید، در صورت نیاز بهصورت موردی با SET مقدار work_mem را برای عملیات سنگین بالا ببرید، و به تعامل CPU cache و مدیریت حافظه OS توجه کنید؛ همیشه مقدار بیشتر سریعتر نیست.
#Postgres #PostgreSQL #DatabasePerformance #work_mem #maintenance_work_mem #CPUCaches #OSMemory
🟣لینک مقاله:
https://postgresweekly.com/link/176669/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
Tomas Vondra
Don't give Postgres too much memory
Can it be harmful to set maintenance_work_mem and work_mem limits very high?