Как настроить СУБД ЛИНТЕР для достижения наилучшей производительности в условиях ограниченного объема оперативной памяти? Может быть существует стандартный набор настроек для таких случаев?
СУБД ЛИНТЕР ориентирована на работу в условиях ограниченных ресурсов (оперативной памяти).
В СУБД ЛИНТЕР реализовано два режима выделения ресурсов:
-
режим автоконфигурирования (задается параметром
SET AUTOCONFIG ON
при конфигурировании БД утилитойgendb
). В этом режиме ядру СУБД и процессам сортировки выделяется объем памяти, пропорциональный объему доступной оперативной памяти компьютера. Память под системные очереди таблиц, столбцов, файлов, и пользователей выделяется автоматически в зависимости от текущих размеров соответствующих системных таблиц; -
режим ручного выделения ресурсов (задается параметром
SET AUTOCONFIG OFF
при конфигурировании БД утилитойgendb
). В этом случае, в зависимости от решаемой задачи, достигается оптимальное распределение ресурсов с помощью ключей запуска СУБД ЛИНТЕР.
Задать режимы конфигурирования, а также размеры очередей можно, например, с помощью утилиты gendb
(подробную информацию см. в документе «Создание и конфигурирование базы данных»,
пункт «Конфигурирование БД».
Автоконфигурирование включается подачей команды SET AUTOCONFIG ON в утилите gendb
или в настройках БД из графических средств управления.
Соответственно, отключение автоконфигурирования производится командой SET AUTOCONFIG OFF в утилите gendb
или в настройках БД из графических средств управления.
В режиме ручного конфигурирования объем оперативной памяти, выделяемой ядру СУБД, можно задать в командной строке запуска ядра СУБД следующими ключами:
-
/POOL
– задает объем памяти для ядра СУБД (в страницах по 4 Кбайт); -
/SPOOL
– задает объем памяти для процессов сортировки (в страницах по 4 Кбайт); -
/PPOOL
– задает объем памяти для подсистемы полнотекстового поиска, в случае если клиентское приложение использует полнотекстовый поиск, настоятельно рекомендуется выделять память вручную, так как работа подсистемы полнотекстового поиска с параметрами по умолчанию может быть медленной; -
/INMEMPOOL
– задает объем памяти для хранения страниц таблиц «в памяти» (предварительно СУБД должна быть настроена для работы с таблицами «в памяти» с помощью утилитыgendb
).
Более подробное описание ключей запуска ядра СУБД см. в документах «Запуск и останов СУБД ЛИНТЕР в среде ОС Windows», подраздел «Ключи управления оперативной памятью» и «Запуск и останов СУБД ЛИНТЕР в среде ОС Linux, Unix», подраздел «Ключи управления оперативной памятью».