Данная статья является второй частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024 (и потому продолжается сквозная нумерация пунктов), а так же текстовой расшифровкой соответствующего видео.
2.1 В чём проблема с конфигурацией по умолчанию?
Вы используете стандартный файл firebird.conf, который поставляется вместе с обычной версией Firebird и устанавливается через стандартный установщик для Windows или репозиторий Linux.Если это так, мы должны сообщить вам неприятную новость: этот файл firebird.conf далек от идеала для вашей базы данных Firebird.
Стандартный файл firebird.conf рассчитан на работу на минимально возможном оборудовании или в среде виртуальных машин. К сожалению, многие его параметры устарели, поскольку были актуальны лет 20 назад.
Однако если вы используете HQbird с Firebird, ситуация несколько улучшается. HQbird предоставляет файл firebird.conf, который гораздо лучше подходит для типичного производственного сервера.
2.2. Создание оптимальной конфигурации Firebird
Хотите улучшить файлы firebird.conf (а также databases.conf) под ваше оборудование или виртуальные машины? Мы предлагаем вам воспользоваться бесплатным инструментом, который может существенно облегчить этот процесс. Он называется «Калькулятор конфигурации для Firebird». Этот инструмент способен значительно увеличить производительность вашей базы данных Firebird. Сервис автоматически сгенерирует оптимизированные настройки для вашей системы и, что особенно важно, поможет избежать типичных ошибок, которые часто возникают при ручной настройке Firebird.
Для достижения наилучших результатов мы можем предложить дополнительные услуги по оптимизации, включающие глубокий анализ ваших SQL-запросов, структуры базы данных и многое другое.
Чтобы начать работу с калькулятором конфигурации, просто перейдите по следующей ссылке. Но будет еще лучше, если вы сначала зарегистрируетесь на сайте https://cc.ib-aid.com – это даст вам полный доступ к набору инструментов для работы с Firebird.
После регистрации выберите нужную версию Firebird, укажите архитектуру системы, а затем введите параметры вашего оборудования или виртуальной машины (объем оперативной памяти, количество ядер процессора). Также необходимо указать ключевые характеристики вашей базы данных и предполагаемой нагрузки: общий объем базы данных, размер страницы базы данных и т.д., после чего нажать кнопку «Создать».
Процесс расчета конфигурации
Когда расчеты будут завершены, вы получите файл с оптимальными настройками. Скопируйте эти параметры и замените их в файлах firebird.conf и databases.conf.
Прежде чем выполнять замену настроек, убедитесь, что вы полностью убрали следы прежних параметров. Это предотвратит возможные конфликты между старыми и новыми настройками.
2.3. Очень важный момент!
Убедитесь, что в заголовке вашей базы данных параметр Page Buffers равен нулю! Это важно для корректной работы и оптимизации производительности вашего хранилища данных.
Если же параметр Page Buffers отличен от нуля — значение необходимо изменить.
Чтобы проверить наличие этого параметра, вам необходимо выполнить следующую команду в терминале (или другом интерфейсе командной строки):
/opt/firebird/bin/gstat -h /path/to/database.fdb
Или, если вы работаете в Windows:
<путь_к_каталогу_Firebird_bin>\\gstat.exe -h Disk:Path_to_database.fdb
Результат выполнения команды будет выглядеть примерно так:
Gstat execution time Mon Nov 28 11:25:03 2022
Database header page information:
Flags 0
Generation 5914
System Change Number 0
Page size 16384
ODS version 12.0
Oldest transaction 6194
Oldest active 6195
Oldest snapshot 6195
Next transaction 6220
Sequence number 0
Next attachment ID 63
Implementation HW=AMD/Intel/x64 little-endian OS=Windows CC=MSVC
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Nov 24, 2022 16:42:58
Attributes
Variable header data:
Sweep interval: 20000
Database GUID: {260809FC-FFF7-488F-7ABF-FEF0A84F6900}
*END*
Gstat completion time Mon Nov 28 11:25:03 2022
Обратите внимание на строку с параметром Page Buffers. Эта строка должна содержать значение, равное нулю. В случае, если в этой строке указано любое другое значение, отличное от нуля, это может привести к тому, что данное значение будет иметь приоритет над настройками, которые указаны в конфигурационных файлах firebird.conf и databases.conf.
Для того чтобы использовать параметры, заданные в указанных выше конфигурационных файлах, необходимо установить параметр Page Buffers в нулевое значение. Это можно сделать с использованием следующей команды:
gfix -buff 0 /path/to/database.fdb -user SYSDBA -pass masterkey
После выполнения всех необходимых изменений и настроек вам потребуется перезагрузить сервер баз данных Firebird. Это необходимо для того, чтобы внесённые вами изменения могли вступить в силу и начать применяться ко всем новым соединениям с базой данных.
После успешного перезапуска Firebird вы сможете заметить значительные улучшения в производительности вашего экземпляра Firebird. Эти улучшения могут включать более быструю обработку запросов, уменьшение времени отклика системы, а также повышение общей стабильности работы базы данных.
Ссылка на видеоверсию на Youtube: https://youtu.be/IEIJ1gfjxUs
Ссылка на Rutube: https://rutube.ru/video/15a3e69b4d9abff78f260b69e94cee60/
Ссылка на Платформу: https://plvideo.ru/watch?v=BWZOId8Q9Cmb
Официальный канал на Substack: https://firebirdfoundation.substack.com/ — подписывайтесь что бы получать информацию из первых рук.
ссылка на оригинал статьи https://habr.com/ru/articles/871776/
Добавить комментарий