SlideShare a Scribd company logo
Алексей Лесовский "Тюнинг Linux для баз данных. "
About
PostgreSQL DBA.
Linux system administrator.
PostgreSQL-Consulting.com:
● 24/7 support.
● Audit, performance optimizations.
● Consulting and Training.
● Monitoring and Emergency.
● Capacity planning.
Slides: https://goo.gl/awmZ2H
Agenda
RDBMS on Linux, why?
Databases and Resources.
OS subsystems.
CPU, Process scheduling, Power saving policies.
Memory, VM, NUMA, Huge pages.
Storage, File Systems, Input/Output.
Other misc.
Why Linux?
Linux is a good choice:
● Active development & Community support.
● A lot of features & Fast implementation.
● Stable & Mature & Durable.
Databases & Resources
Concurrency
Query speed
Sort, group, hash,...
OS page cache
DB buffer pool
Local process cache
DB data files
Transaction Log
Cold start
CPU Memory
Storage
Databases & Resources
CPU Scheduling
NUMA
Power Saving
Virtual Memory
NUMA
Huge Pages
File Systems
Storage I/O
CPU Memory
Storage
Resources
CPU scheduler.
Virtual memory and NUMA.
Huge pages.
File systems.
Storage IO.
Power saving policy.
Others.
CPU scheduling
CPU scheduler responsible for proper processes planning:
Sysctl:
● kernel.sched_migration_cost_ns = 5000000 (default: 500000).
● kernel.sched_autogroup_enabled = 0 (default: 1).
http://www.postgresql.org/message-id/50E4AAB1.9040902@optionshouse.com
http://kernelnewbies.org/Linux_2_6_38#head-59575a6aeafa38490226a560ee02de89829a5b20
CPU scheduling
CPU scheduler responsible for proper processes planning:
Sysctl:
● kernel.sched_migration_cost_ns = 5000000 (default: 500000).
● kernel.sched_autogroup_enabled = 0 (default: 1).
http://www.postgresql.org/message-id/50E4AAB1.9040902@optionshouse.com
http://kernelnewbies.org/Linux_2_6_38#head-59575a6aeafa38490226a560ee02de89829a5b20
Be aware on Ubuntu: 12.04 #1055222 and 14.04 #1422016.
Use noautogroup kernel param instead of sysctl.conf.
Virtual Memory
What is it?
Allocator, Caching, Dirty pages and Writeback.
Virtual Memory
Virtual Memory
Sysctl:
vm.dirty_background_ratio & vm.dirty_ratio = disable it.
vm.dirty_background_bytes & vm.dirty_bytes = depends on ...
RAID cache size, 64MB/128MB otherwise
Virtual Memory
Out-of-memory & OOM-Killer
Sysctl: vm.swappiness = 1 (default: 60)
NUMA
S — Socket C — CPU core M — Memory bank
NUMA
BIOS: enable memory node interleaving.
Kernel boot: numa=off.
numactl utility.
Sysctl:
● vm.zone_reclaim_mode = 0 (default: 0).
● kernel.numa_balancing = 0 (default: 0).
Huge Pages
Huge pages vs. Transparent huge pages.
Huge pages are supported by many RDBMS.
Always disable transparent huge pages.
Huge Pages
Huge pages vs. Transparent huge pages.
Huge pages are supported by many RDBMS.
Always disable transparent huge pages.
/etc/rc.local:
● echo never > /sys/kernel/mm/transparent_hugepage/enabled
● echo never > /sys/kernel/mm/transparent_hugepage/defrag
Filesystems
Ext3 vs Ext4 vs XFS: what is better?
Filesystem Barriers.
Filesystems
Ext3 vs Ext4 vs XFS: what is better?
Filesystem Barriers.
Disable Write Cache:
● hdparm -W0 /dev/device
● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL
Filesystems
Ext3 vs Ext4 vs XFS: what is better?
Filesystem Barriers.
Disable Write Cache:
● hdparm -W0 /dev/device
● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL
Hardware RAID + BBU = barrier=0 (disable).
Software RAID = barrier=1 (enable).
Filesystems
Ext3 vs Ext4 vs XFS: what is better?
Filesystem Barriers.
Disable Write Cache:
● hdparm -W0 /dev/device
● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL
Hardware RAID + BBU = barrier=0 (disable).
Software RAID = barrier=1 (enable).
Enterprise SSD with Power Loss Protection = barrier=0 (disable).
Storage IO
SATA/SAS vs SSD.
IO elevators.
Storage IO
SATA/SAS vs SSD.
IO elevators:
● noop: SSD, PCIe SSD, hi-end storages.
● deadline: RAID, SATA/SAS.
● cfq: good default.
● none (multi-queue block IO): SSD, PCIe SSD.
Storage IO
SATA/SAS vs SSD.
IO elevators:
● noop: SSD, PCIe SSD, hi-end storages.
● deadline: RAID, SATA/SAS.
● cfq: good default.
● none (multi-queue block IO): SSD, PCIe SSD.
# echo 'elevator_name' > /sys/block/<device>/queue/scheduler
kernel boot: elevator=<name>
/sys/block/*/queue/: rotational, rq_affinity, read_ahead_kb
Power Saving Policy
Drivers: acpi_cpufreq vs. intel_pstate.
scaling_governor.
Power Saving Policy
Drivers: acpi_cpufreq vs. intel_pstate.
scaling_governor:
● /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_governors
● /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor
Power Saving Policy
Drivers: acpi_cpufreq vs. intel_pstate.
scaling_governor:
● /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_governors
● /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor
acpi_cpufreq + performance.
intel_pstate + powersave.
Misc: Clocksources
What is clocksource?
acpi_pm vs. hpet vs. tsc.
/sys/devices/system/clocksource/clocksource0/available_clocksource.
/sys/devices/system/clocksource/clocksource0/current_clocksource.
Summary
Linux is a good choice for RDBMS:
Modern, Universal, Flexible, Stable.
Adapt Linux for your workloads.
Test → Change → Test → Commit/Rollback.
Questions?
Alexey Lesovsky
lesovsky@pgco.me
PostgreSQL-Consulting.com: Data maintenance at its best
https://postgresql-consulting.com

More Related Content

PPTX
Ужимай и властвуй алгоритмы компрессии в базах данных / Петр Зайцев (Percona)
PDF
Making the case for write-optimized database algorithms / Mark Callaghan (Fac...
PPT
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
PPTX
HighLoad Solutions On MySQL / Xiaobin Lin (Alibaba)
PDF
No sql but even less security
PDF
深入了解Redis
KEY
High Performance Weibo QCon Beijing 2011
PDF
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Ужимай и властвуй алгоритмы компрессии в базах данных / Петр Зайцев (Percona)
Making the case for write-optimized database algorithms / Mark Callaghan (Fac...
Tarantool: как сэкономить миллион долларов на базе данных на высоконагруженно...
HighLoad Solutions On MySQL / Xiaobin Lin (Alibaba)
No sql but even less security
深入了解Redis
High Performance Weibo QCon Beijing 2011
Frontera распределенный робот для обхода веба в больших объемах / Александр С...

What's hot (20)

KEY
微博cache设计谈
PPTX
Day 2 General Session Presentations RedisConf
PDF
Troubleshooting redis
PDF
Development to Production with Sharded MongoDB Clusters
PDF
Scaling MongoDB in the cloud with Microsoft Azure
PPTX
Ceph Day San Jose - Ceph at Salesforce
PDF
Setting up mongodb sharded cluster in 30 minutes
PDF
Ceph Day San Jose - Object Storage for Big Data
PDF
OVHcloud Partner Webinar - Data Processing
PPTX
Webinar - VPS New Range
PDF
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
PPTX
Ceph Day San Jose - Enable Fast Big Data Analytics on Ceph with Alluxio
PDF
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
PPTX
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
PDF
Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server
PDF
Containers > VMs
PDF
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
PDF
Ceph Day San Jose - From Zero to Ceph in One Minute
PPTX
WalB: Real-time and Incremental Backup System for Block Devices
PDF
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
微博cache设计谈
Day 2 General Session Presentations RedisConf
Troubleshooting redis
Development to Production with Sharded MongoDB Clusters
Scaling MongoDB in the cloud with Microsoft Azure
Ceph Day San Jose - Ceph at Salesforce
Setting up mongodb sharded cluster in 30 minutes
Ceph Day San Jose - Object Storage for Big Data
OVHcloud Partner Webinar - Data Processing
Webinar - VPS New Range
Ceph Day Beijing - Our journey to high performance large scale Ceph cluster a...
Ceph Day San Jose - Enable Fast Big Data Analytics on Ceph with Alluxio
[db tech showcase Tokyo 2017] A11: SQLite - The most used yet least appreciat...
Scylla Summit 2018: In-Memory Scylla - When Fast Storage is Not Fast Enough
Ceph Day San Jose - All-Flahs Ceph on NUMA-Balanced Server
Containers > VMs
Ceph Day Beijing - Ceph All-Flash Array Design Based on NUMA Architecture
Ceph Day San Jose - From Zero to Ceph in One Minute
WalB: Real-time and Incremental Backup System for Block Devices
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
Ad

Viewers also liked (17)

PDF
Алексей Залесов-«Управление контейнерами в облаках»
PDF
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
PDF
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
PDF
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
PPTX
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
PDF
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
PDF
Сергей Аверин "Распространенные ошибки применения баз данных"
PDF
Вадим Мадисон "Опыт разработки через микросервисы"
PPTX
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
PDF
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
PDF
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
PDF
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
PDF
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
PDF
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
PDF
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
PDF
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
PDF
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Алексей Залесов-«Управление контейнерами в облаках»
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Левон Авакян "Архитектура мета игры Wargaming. Глобальная карта 2.0"
Артем Гавриченков "The Dark Side of Things: Distributed Denial of Service Att...
Александр Краковецкий "Разработка интеллектуальных ботов с помощью Microsoft ...
Николай Сивко "Хорошо поддерживаемое в продакшне приложение"
Сергей Аверин "Распространенные ошибки применения баз данных"
Вадим Мадисон "Опыт разработки через микросервисы"
Сергей Сверчков "Want to build a secure private cloud for IoT with high avail...
Дмитрий Хоревич "Cloud native security with UAA \ Как защитить микросервисы с...
Андрей Дроздов "Создание высокопроизводительных rest api на tarantool"
Артем Маринов "Сегментируем 600 млн. пользователей в режиме реального времени...
Максим Барышиков-«WoT: Geographically distributed cluster of clusters»
Андрей Светлов-«Делаем своё решение для оптимальной загрузки кластера»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Левон Авакян-«Эволюция кланов в Wargaming. От веб страницы на танковом портал...
Александр Ломов-«Как перестать беспокоиться и начать использовать Cloud Foundry»
Ad

Similar to Алексей Лесовский "Тюнинг Linux для баз данных. " (20)

PDF
Linux tuning to improve PostgreSQL performance
PDF
OSDC 2016 - Tuning Linux for your Database by Colin Charles
PPTX
Oracle Performance On Linux X86 systems
PDF
Tuning Linux for your database FLOSSUK 2016
PDF
Tuning Linux Windows and Firebird for Heavy Workload
PDF
Best Practices with PostgreSQL on Solaris
PDF
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
PDF
MySQL Performance for DevOps
PDF
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PPTX
VLDB Administration Strategies
PPTX
RAC-Installing your First Cluster and Database
PPTX
Tuning linux for mongo db
PDF
5 Steps to PostgreSQL Performance
PDF
Five steps perform_2009 (1)
PPTX
Refining Linux
PDF
Linux internals for Database administrators at Linux Piter 2016
PDF
Rhel Tuningand Optimizationfor Oracle V11
PDF
Improving Hadoop Performance via Linux
PDF
PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K...
PDF
MySQL Performance Tuning London Meetup June 2017
Linux tuning to improve PostgreSQL performance
OSDC 2016 - Tuning Linux for your Database by Colin Charles
Oracle Performance On Linux X86 systems
Tuning Linux for your database FLOSSUK 2016
Tuning Linux Windows and Firebird for Heavy Workload
Best Practices with PostgreSQL on Solaris
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
MySQL Performance for DevOps
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
VLDB Administration Strategies
RAC-Installing your First Cluster and Database
Tuning linux for mongo db
5 Steps to PostgreSQL Performance
Five steps perform_2009 (1)
Refining Linux
Linux internals for Database administrators at Linux Piter 2016
Rhel Tuningand Optimizationfor Oracle V11
Improving Hadoop Performance via Linux
PGConf.ASIA 2019 Bali - AppOS: PostgreSQL Extension for Scalable File I/O - K...
MySQL Performance Tuning London Meetup June 2017

More from Tanya Denisyuk (13)

PPTX
Павел Вейник-«Программирование и лингвистика: как понять язык и как извлечь з...
PPTX
Михаил Серченя-«Построение отказоустойчивой масштабируемой среды для WEB и бе...
PPTX
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
PDF
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
PDF
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
PPTX
Дмитрий Дурасов-«Технологии контейнеризации в Windows Server 2016»
PDF
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
PDF
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
PDF
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
PDF
Кирилл Алешин, Ламбда Архитектура на практике
PDF
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
PDF
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
PDF
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine
Павел Вейник-«Программирование и лингвистика: как понять язык и как извлечь з...
Михаил Серченя-«Построение отказоустойчивой масштабируемой среды для WEB и бе...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Дмитрий Дурасов-«Технологии контейнеризации в Windows Server 2016»
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Александр Тоболь, Кадры решают все, или стриминг видео в Одноклассниках
Денис Баталов, Принципы построения высоконагруженных сайтов на платформе АWS
Кирилл Алешин, Ламбда Архитектура на практике
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Alvaro Videla, Building a Distributed Data Ingestion System with RabbitMQ
Антон Тюрин, Евгений Сафронов, Инфраструктура под Cocaine

Recently uploaded (20)

PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
RMMM.pdf make it easy to upload and study
PPTX
Lesson notes of climatology university.
PDF
LDMMIA Reiki Yoga Finals Review Spring Summer
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
History, Philosophy and sociology of education (1).pptx
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
Cell Types and Its function , kingdom of life
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
01-Introduction-to-Information-Management.pdf
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
Practical Manual AGRO-233 Principles and Practices of Natural Farming
What if we spent less time fighting change, and more time building what’s rig...
RMMM.pdf make it easy to upload and study
Lesson notes of climatology university.
LDMMIA Reiki Yoga Finals Review Spring Summer
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
2.FourierTransform-ShortQuestionswithAnswers.pdf
Computing-Curriculum for Schools in Ghana
History, Philosophy and sociology of education (1).pptx
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Cell Types and Its function , kingdom of life
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
01-Introduction-to-Information-Management.pdf
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Microbial diseases, their pathogenesis and prophylaxis
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
A systematic review of self-coping strategies used by university students to ...
Chinmaya Tiranga quiz Grand Finale.pdf

Алексей Лесовский "Тюнинг Linux для баз данных. "

  • 2. About PostgreSQL DBA. Linux system administrator. PostgreSQL-Consulting.com: ● 24/7 support. ● Audit, performance optimizations. ● Consulting and Training. ● Monitoring and Emergency. ● Capacity planning. Slides: https://goo.gl/awmZ2H
  • 3. Agenda RDBMS on Linux, why? Databases and Resources. OS subsystems. CPU, Process scheduling, Power saving policies. Memory, VM, NUMA, Huge pages. Storage, File Systems, Input/Output. Other misc.
  • 4. Why Linux? Linux is a good choice: ● Active development & Community support. ● A lot of features & Fast implementation. ● Stable & Mature & Durable.
  • 5. Databases & Resources Concurrency Query speed Sort, group, hash,... OS page cache DB buffer pool Local process cache DB data files Transaction Log Cold start CPU Memory Storage
  • 6. Databases & Resources CPU Scheduling NUMA Power Saving Virtual Memory NUMA Huge Pages File Systems Storage I/O CPU Memory Storage
  • 7. Resources CPU scheduler. Virtual memory and NUMA. Huge pages. File systems. Storage IO. Power saving policy. Others.
  • 8. CPU scheduling CPU scheduler responsible for proper processes planning: Sysctl: ● kernel.sched_migration_cost_ns = 5000000 (default: 500000). ● kernel.sched_autogroup_enabled = 0 (default: 1). http://www.postgresql.org/message-id/[email protected] http://kernelnewbies.org/Linux_2_6_38#head-59575a6aeafa38490226a560ee02de89829a5b20
  • 9. CPU scheduling CPU scheduler responsible for proper processes planning: Sysctl: ● kernel.sched_migration_cost_ns = 5000000 (default: 500000). ● kernel.sched_autogroup_enabled = 0 (default: 1). http://www.postgresql.org/message-id/[email protected] http://kernelnewbies.org/Linux_2_6_38#head-59575a6aeafa38490226a560ee02de89829a5b20 Be aware on Ubuntu: 12.04 #1055222 and 14.04 #1422016. Use noautogroup kernel param instead of sysctl.conf.
  • 10. Virtual Memory What is it? Allocator, Caching, Dirty pages and Writeback.
  • 12. Virtual Memory Sysctl: vm.dirty_background_ratio & vm.dirty_ratio = disable it. vm.dirty_background_bytes & vm.dirty_bytes = depends on ... RAID cache size, 64MB/128MB otherwise
  • 13. Virtual Memory Out-of-memory & OOM-Killer Sysctl: vm.swappiness = 1 (default: 60)
  • 14. NUMA S — Socket C — CPU core M — Memory bank
  • 15. NUMA BIOS: enable memory node interleaving. Kernel boot: numa=off. numactl utility. Sysctl: ● vm.zone_reclaim_mode = 0 (default: 0). ● kernel.numa_balancing = 0 (default: 0).
  • 16. Huge Pages Huge pages vs. Transparent huge pages. Huge pages are supported by many RDBMS. Always disable transparent huge pages.
  • 17. Huge Pages Huge pages vs. Transparent huge pages. Huge pages are supported by many RDBMS. Always disable transparent huge pages. /etc/rc.local: ● echo never > /sys/kernel/mm/transparent_hugepage/enabled ● echo never > /sys/kernel/mm/transparent_hugepage/defrag
  • 18. Filesystems Ext3 vs Ext4 vs XFS: what is better? Filesystem Barriers.
  • 19. Filesystems Ext3 vs Ext4 vs XFS: what is better? Filesystem Barriers. Disable Write Cache: ● hdparm -W0 /dev/device ● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL
  • 20. Filesystems Ext3 vs Ext4 vs XFS: what is better? Filesystem Barriers. Disable Write Cache: ● hdparm -W0 /dev/device ● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL Hardware RAID + BBU = barrier=0 (disable). Software RAID = barrier=1 (enable).
  • 21. Filesystems Ext3 vs Ext4 vs XFS: what is better? Filesystem Barriers. Disable Write Cache: ● hdparm -W0 /dev/device ● MegaCli64 -LDSetProp -DisDskCache -Lall -aALL Hardware RAID + BBU = barrier=0 (disable). Software RAID = barrier=1 (enable). Enterprise SSD with Power Loss Protection = barrier=0 (disable).
  • 22. Storage IO SATA/SAS vs SSD. IO elevators.
  • 23. Storage IO SATA/SAS vs SSD. IO elevators: ● noop: SSD, PCIe SSD, hi-end storages. ● deadline: RAID, SATA/SAS. ● cfq: good default. ● none (multi-queue block IO): SSD, PCIe SSD.
  • 24. Storage IO SATA/SAS vs SSD. IO elevators: ● noop: SSD, PCIe SSD, hi-end storages. ● deadline: RAID, SATA/SAS. ● cfq: good default. ● none (multi-queue block IO): SSD, PCIe SSD. # echo 'elevator_name' > /sys/block/<device>/queue/scheduler kernel boot: elevator=<name> /sys/block/*/queue/: rotational, rq_affinity, read_ahead_kb
  • 25. Power Saving Policy Drivers: acpi_cpufreq vs. intel_pstate. scaling_governor.
  • 26. Power Saving Policy Drivers: acpi_cpufreq vs. intel_pstate. scaling_governor: ● /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_governors ● /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor
  • 27. Power Saving Policy Drivers: acpi_cpufreq vs. intel_pstate. scaling_governor: ● /sys/devices/system/cpu/cpuX/cpufreq/scaling_available_governors ● /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor acpi_cpufreq + performance. intel_pstate + powersave.
  • 28. Misc: Clocksources What is clocksource? acpi_pm vs. hpet vs. tsc. /sys/devices/system/clocksource/clocksource0/available_clocksource. /sys/devices/system/clocksource/clocksource0/current_clocksource.
  • 29. Summary Linux is a good choice for RDBMS: Modern, Universal, Flexible, Stable. Adapt Linux for your workloads. Test → Change → Test → Commit/Rollback.
  • 30. Questions? Alexey Lesovsky [email protected] PostgreSQL-Consulting.com: Data maintenance at its best https://postgresql-consulting.com