Настройка параметров ядра Linux для оптимизации PostgreSQL

     Оптимальная производительность PostgreSQL зависит от правильно определенных параметров операционной системы. Плохо настроенные параметры ядра ОС могут привести к снижению производительности сервера базы данных. Поэтому обязательно, чтобы эти параметры были настроены в соответствии с сервером базы данных и его рабочей нагрузкой. В этой статье мы обсудим некоторые важные параметры ядра Linux, которые могут повлиять на производительность сервера базы данных и способы их настройки.

                                                       SHMMAX / SHMALL

     SHMMAX — это параметр ядра, используемый для определения максимального размера одного сегмента разделяемой памяти (shared memory), который может выделить процесс Linux. До версии 9.2 PostgreSQL использовал System V (SysV), для которой требуется настройка SHMMAX. После 9.2 PostgreSQL переключился на разделяемую память POSIX. Так что теперь требуется меньше байтов разделяемой памяти System V.

     До версии 9.3 SHMMAX был наиболее важным параметром ядра. Значение SHMMAX задается в байтах.

     Аналогично, SHMALL — это еще один параметр ядра, используемый для определения общесистемного объема страниц разделяемой памяти (shared memory). Чтобы просмотреть текущие значения SHMMAX, SHMALL или SHMMIN, используйте команду ipcs.

     Использует System V IPC для выделения разделяемой памяти. Этот параметр является одним из наиболее важных параметров ядра. Всякий раз, когда вы получаете следующие сообщения об ошибках, это означает, что у вас более старая версия PostgreSQL и у вас очень низкое значение SHMMAX. Ожидается, что пользователи будут корректировать и увеличивать значение в соответствии с разделяемой памятью, которую они собираются использовать. 

                                    Понимание различий в определениях

Определение параметров SHMMAX/SHMALL немного отличается в Linux и MacOS X:

  • Linux: kernel.shmmax, kernel.shmall

  • MacOS X: kern.sysv.shmmax, kern.sysv.shmall

Linux-Wallpaper-27.jpg

Команда sysctl может быть использована для временного изменения значения

Вы можете настроить другие параметры для увеличения производительности, но улучшения будут минимальными и выгоды особой не получите. Мы должны помнить, что не все параметры относятся ко всем типам приложений. Некоторые приложения работают лучше, когда мы настраиваем некоторые параметры, а некоторые — нет. Вы должны найти правильный баланс между конфигурациями этих параметров для ожидаемой рабочей нагрузки и типа приложения, а также при настройке необходимо учитывать поведение ОС. Настроить параметры ядра не так просто, как настроить параметры базы данных: здесь сложнее давать свои рекомендации.


Другие новости и проекты
«МойОфис» получил более 70 новых функций и улучшений
Компания «Новые облачные технологии» обновила линейку программных продуктов «МойОфис». Версия 2019.01 содержит более 70 изменений, которые повышают скорость и удобство работы.
На российские компании напал могучий шифровальщик
Против российских организаций в настоящий момент проводится масштабная кампания по рассылке вируса-шифровальщика Troldesh. Раньше вирус рассылался от лица банков, а сейчас — от имени авиакомпаний и СМИ. Он умеет не только шифровать файлы, но также майнить криптовалюту и генерировать трафик на сайты.
Бывший глава Роскомнадзора превратил Rutube в полную копию YouTube
Отечественный видеохостинг Rutube полностью сменил дизайн. После обновления он стал похож на YouTube – в новом интерфейсе используются почти идентичные цветовая схема и расположение навигационных элементов. В настоящее время Rutube принадлежит холдингу «Газпром-медиа», возглавляет который бывший глава Роскомнадзора Александр Жаров.
Смотреть все