вторник, 15 января 2019 г.

Linux tuning to improve PostgreSQL performance

Замечательные лекции Ильи Космодемьянского:

Linux tuning to improve PostgreSQL performance
Linux tuning for Database performance
How does PostgreSQL work with disks: a DBA’s checklist in detail
презентация
How does PostgreSQL work with disks: a DBA's checklist in detail. PGConf.US 2015
Linux IO internals for database administrators
Millions of Queries per Second: PostgreSQL and MySQL’s Peaceful Battle at Today’s Demanding Workloads

В защиту swap'а [в Linux]: распространенные заблуждения



Говоря о vm.swappiness, необходимо учитывать исключительно важное изменение недавнего времени, сделанное Satoru Moriya в vmscan в 2012 году: оно в значительной мере меняет поведение vm.swappiness = 0.

Этот патч по существу говорит, что при установке vm.swappiness = 0 мы донельзя настроены против сканирования (и высвобождения) любых анонимных страниц, пока не настало состояние высокой конкуренции за память. Как отмечалось ранее, в общем случае вы не захотите такого поведения, поскольку оно исключает равенство приоритетов высвобождения до моментов экстремального давления на память, что само по себе в действительности может и привести к этому экстремальному давлению. Поэтому vm.swappiness = 1 — минимальное значение, которое стоит выбирать, если вы не хотите активировать такое особое поведение для сканирования анонимных страниц, реализованное в патче.

Значение ядра по умолчанию — vm.swappiness = 60.

$ cat /proc/sys/vm/swappiness
60
$ cat /proc/sys/vm/min_free_kbytes
67584


PostgreSQL High Availability Cookbook Second Edition

kernel.sched_migration_cost_ns = 5000000
kernel.sched_autogroup_enabled = 0
vm.dirty_background_bytes = 67108864 # 64 Mb
#vm.dirty_bytes = 1073741824 # для размера кэша RAID или SSD 1024 Mb
vm.dirty_bytes = 536870912 # для размера кэша RAID или SSD 512MB cache on board
vm.zone_reclaim_mode = 0
vm.swappiness =1

Millions of Queries per Second: PostgreSQL and MySQL’s Peaceful Battle at Today’s Demanding Workloads

vm.swappiness=1
cpupower frequency-set --governor performance
kernel.sched_autogroup_enabled=0
kernel.sched_migration_cost_ns= 5000000
vm.dirty_background_bytes=67108864
vm.dirty_bytes=536870912
IO scheduler [deadline] 


Tune Linux Kernel Parameters For PostgreSQL Optimization

 

Комментариев нет:

Отправить комментарий