의외로 postgres 서버의 메모리 늘리는 것은 크게 영향이 없는 듯 하고

설정 파일에서 이것저것 고친거랑.. cpu 갯수 늘린게 영향을 주려나?

일단은 확실한 벤치를 한건 아니지만 ramdom_page_cost 늘린게 가장 큰 영향을 주는 듯

 

work_mem
As I mentioned earlier, memory allocation and management is a big part of performance-tuning PostgreSQL. If your system is doing a lot of complex sorts, increasing the sort memory can help the database optimize its configuration for your setup. This allows PostgreSQL to cache more data in memory while it performs its sorting, as opposed to making expensive calls to the disk.

random_page_cost
This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk. You should alter this setting only when you’ve done other plan-based optimizations that we’ll cover soon, such as vacuuming, indexing, or altering your queries and schema.

These are just some of the optimizations you can make for database configurations, but there are plenty more. Now that you know how to tweak your database setup, let’s look at another area for investigation: vacuuming.

[링크 : https://stackify.com/postgresql-performance-tutorial/]

 

shared_buffers =  — Editing this option is the simplest way to improve the performance of your database server. The default is pretty low for most modern hardware. General wisdom says that this should be set to roughly 25% of available RAM on the system. Like most of the options I will outline here you will simply need to try them at different levels (both up and down ) and see how well it works on your particular system. Most people find that setting it larger than a third starts to degrade performance.


effective_cache_size =  — This value tells PostgreSQL's optimizer how much memory PostgreSQL has available for caching data and helps in determing whether or not it use an index or not. The larger the value increases the likely hood of using an index. This should be set to the amount of memory allocated to shared_buffers plus the amount of OS cache available. Often this is more than 50% of the total system memory.


work_mem =  — This option is used to control the amount of memory using in sort operations and hash tables. While you may need to increase the amount of memory if you do a ton of sorting in your application, care needs to be taken. This isn't a system wide parameter, but a per operation one. So if a complex query has several sort operations in it it will use multiple work_mem units of memory. Not to mention that multiple backends could be doing this at once. This query can often lead your database server to swap if the value is too large. This option was previously called sort_mem in older versions of PostgreSQL.

[링크 : https://www.revsys.com/writings/postgresql-performance.html]

'프로그램 사용 > postgreSQL' 카테고리의 다른 글

postresql backup & recovery  (0) 2019.06.12
postgresql schema  (0) 2019.06.12
postgresql drop all tables  (0) 2019.06.05
postgresql import from csv  (0) 2019.06.04
postgresql password chg  (0) 2019.06.04
Posted by 구차니