Несколько шагов к повышению производительности Firebird

в 8:15, , рубрики: firebird, opensorce, sql

Данная статья является первой частью перевода туториала по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024 а так же текстовой расшифровкой соответствующего видео.

1.1 Настройки для Windows

Вот подробное описание того, как пользователям Windows можно оптимизировать работу их систем под определенные задачи, включая взаимодействие с базой данных Firebird:

Режим максимальной производительности

Первое, на что стоит обратить внимание при оптимизации работы системы, это выбор правильного режима энергопотребления. По умолчанию Windows может использовать сбалансированный режим, который подходит для большинства пользователей, но он не всегда обеспечивает максимальную производительность. Чтобы получить наибольшую отдачу от вашего оборудования, рекомендуется переключиться на режим высокой производительности.

Шаги по включению режима высокой производительности

Несколько шагов к повышению производительности Firebird - 1
  1. Откройте панель управления Windows.

  2. Перейдите в раздел «Электропитание».

  3. Выберите план электропитания «Высокая производительность» или «Максимальная», если такой вариант доступен.

Этот шаг позволит вашему процессору работать на полной мощности, что увеличит общую производительность системы примерно до 20%.

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

После выбора данного режима вам не придется перезагружать систему, чтобы изменения вступили в силу. Тем не менее, имейте в виду, что обновления Windows могут вернуть настройки обратно к сбалансированному режиму, так что периодически проверяйте текущие настройки.

1.2 Разрешение службе Firebird взаимодействовать с рабочим столом

Данный аспект имеет особое значение для версий Firebird 2.5, которые используют классическую архитектуру сервера. Однако этот подход также может быть полезным и для других версий СУБД (систем управления базами данных), особенно в тех случаях, когда одновременно активно большое количество соединений.

Включение взаимодействия службы Firebird с рабочим столом помогает значительно повысить общую производительность системы, а также её стабильность при работе с базой данных.

Как разрешить взаимодействие

  1. Найдите службу Firebird в списке служб Windows

  2. Щелкните правой кнопкой мыши на этой службе и выберите «Свойства».

  3. Во вкладке «Общие» найдите параметр «Тип запуска» и установите значение «Автоматический».

  4. Затем перейдите во вкладку «Вход в систему» и выберите параметр «Разрешить взаимодействие с рабочим столом».

  5. Сохраните изменения и перезапустите службу Firebird.

Несколько шагов к повышению производительности Firebird - 2

Эти действия позволят базе данных Firebird более эффективно обрабатывать запросы и поддерживать стабильную связь с другими приложениями.

1.3 Кэширование записи на диск

Следующий важный момент – кэширование записи на диск. Это касается всех дисков, используемых вашей системой. Кэширование записи помогает ускорить операции ввода-вывода, что положительно сказывается на общей производительности системы.

  1. Щелкните правой кнопкой мыши Мой компьютер, затем выберите Свойства.

  2. На вкладке Оборудование нажмите кнопку Диспетчер устройств.

  3. Разверните диски.

  4. Щелкните правой кнопкой мыши диск, на котором нужно включить или отключить кэширование диска, а затем щелкните "Свойства".

  5. Перейдите на вкладку "Политики ".

  6. Щелкните, чтобы выбрать или снять флажок "Включить кэширование записи" на диске соответствующим образом.

  7. Нажмите кнопку ОК.

    Несколько шагов к повышению производительности Firebird - 3

    Если вы используете обычные жесткие диски или SSD без использования сложных систем хранения данных, таких как RAID или NAS, данная настройка обычно активна по умолчанию. Она позволяет повысить производительность системы благодаря более быстрому доступу к данным.

  8. Для пользователей, работающих с RAID-массивами или сетевыми хранилищами (NAS), может потребоваться дополнительная настройка политики кэширования. Эти конфигурации требуют особого внимания при настройке политик кэширования, так как неправильная конфигурация может привести к потере данных или снижению производительности.

Мы рассмотрим особенности настройки кэширования для RAID и NAS в одной из наших будущих статей.

Важное примечание

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

Если у вас есть RAID — нужно его правильно настроить. Мы посвятим отдельную статью тому, как настроить популярные RAID.

1.4 Дополнительные рекомендации для Windows

Основываясь на многолетнем опыте и обширной практике поддержки от компании IBSurgeon, мы хотели бы предложить вам учесть ещё несколько ключевых аспектов при работе с операционной системой Windows:

  • Размер файла подкачки. Оптимальным вариантом является предоставление возможности самой системе Windows автоматически регулировать размер файла подкачки. Однако, если вы решили установить этот параметр вручную, настоятельно рекомендуем убедиться, что минимальный объём файла подкачки составляет как минимум 32 ГБ. И помните: никогда не отключайте файл подкачки, так как это может негативно сказаться на производительности системы.

  • Регулярная перезагрузка. Мы также советуем следить за перезагрузкой сервера Windows или виртуальных машин. Для обеспечения стабильной работы лучше это делать это не реже одного раза каждые 180 дней.

2 Настройки для Linux

Теперь рассмотрим рекомендации для пользователей, работающих с Linux-сервером.

2.1 Увеличение количества открытых файлов (MaxOpenFiles)

Если сервер Firebird обслуживает большое количество соединений, ему может потребоваться увеличить лимит на максимальное число одновременно открытых файлов (также известных как файловые дескрипторы). Чтобы проверить текущее значение этого параметра, выполните следующую команду:

cat /proc/$(pgrep firebird)/limits
Несколько шагов к повышению производительности Firebird - 4

Минимальным рекомендуемым значением является 49999, рекомендуется увеличить его при меньших значениях. Чтобы сделать это, вам необходимо внести соответствующие изменения в конфигурационный файл службы Firebird.

Установите его в файле службы FirebirdLimitNOFILE=49999

Конфигурационные файлы для Firebird обычно располагаются по следующим путям:

  1. /usr/lib/systemd/system/firebird-superserver.service

  2. /usr/lib/systemd/system/firebird

Если вы используете версию Firebird от HQbird, выпущенную начиная с 2020 года, эта настройка уже должна быть включена по умолчанию.

2.2 Проверка и увеличение VMA (виртуальное адресное пространство)

Для серверов Firebird с большим числом одновременных соединений, особенно при использовании архитектур SuperServer и SuperClassic, может потребоваться увеличить объем доступной виртуальной памяти (VMA). Чтобы проверить текущее значение VMA, выполните следующую команду:

Проверьте количество VMA с помощью следующей команды:

cat /proc/sys/vm/max_map_count
Несколько шагов к повышению производительности Firebird - 5

Минимальным рекомендуемым значением является 250 килобайт (КБ) или 262144 , рекомендуется увеличить его при меньших значениях. Для того чтобы увеличить это значение, вам необходимо добавить соответствующую запись в конфигурационный файл /etc/sysctl.con строку vm.max_map_count=262144

Чтобы внесённые изменения вступили в силу незамедлительно, необходимо выполнить следующую команду:

sysctl -w vm.max_map_count=262144

Не забудьте сохранить внесенные изменения в файл sysctl.conf, чтобы новые настройки вступили в силу и продолжали применяться даже после перезагрузки системы.

2.3 Дополнительные рекомендации для Linux

Свободное место в каталоге /tmp

Необходимо убедиться, что в директории /tmp имеется как минимум 50 ГБ свободного пространства. Это важно потому, что Firebird создает временные файлы непосредственно в каталогах /tmp и /tmp/firebird, и эти файлы могут занять значительное количество дискового пространства. В случае использования Firebird HQbird с функцией BlobTempSpace, временные файлы BLOB также будут сохраняться в указанных выше папках.

Периодическая перезагрузка

Рекомендуется выполнять перезагрузку сервера не реже чем раз в 90 дней. Эта мера поможет предотвратить накопление ошибок и повысит общую стабильность системы.

Использование Swap

Не следует отключать swap-память (подкачку) в операционных системах семейства Linux. Она играет важную роль в управлении памятью и может быть критически важна при работе с большими объемами данных или в условиях нехватки оперативной памяти.

Ссылка на видеоверсию на канале Теплый Ламповый SQL появится чуть позже.

Автор: LiN1uM

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js