Предпрогрев серверной базы данных.
Для ускорения операций чтения из серверной базы данных предусмотрена возможность предварительного её прогрева. Принцип работы следующий: при запуске база данных помещается в кеш файловой системы, и для выполнения последующих запросов на чтение не потребуется обращение к файлу на диске, а будет напрямую выполняться из более быстрой оперативной памяти.
|
Предпрогрев не будет работать, если объём базы данных превышает объём свободной оперативной памяти (RAM). Для эффективной работы объём свободной RAM должен в два и более раз превышать объём файла базы данных. |
Включение опции предварительного прогрева Базы данных
- На ОС Windows перейдите в папку C:\ProgramData\ASCON\Pilot Server. Расположение по умолчанию для ОС Linux — /opt/pilot-server.
- Откройте в текстовом редакторе файл settings.xml.
- Найдите строку вида:
<DatabaseParameters Name="databaseName" Filename="..." State="Launched" Version="..." Id="..." SessionId="..." WarmUp="false">
в которой databaseName — имя базы данных, для которой нужно включить предпрогрев.
- WarmUp="false" означает, что предпрогрев выключен, исправьте значение на "true".
- Сохраните изменения в файле и перезапустите сервер:
- На OC Windows запустите Диспетчер задач, перейдите во вкладку Службы и перезапустите службу Pilot-Server.
- На OC Linux, если сервер работает как служба systemd в терминале введите команды:
# systemctl stop pilot-update.service
# systemctl start pilot-update.service
При перезапуске сервера активизируется предпрогрев.
Особенности прогрева базы данных Pilot
Прогрев базы выполняется в фоновом режиме и не заметен администратору системы.
Для того, чтобы проверить, что прогрев действительно выполняется, можно воспользоваться утилитой RamMap - вкладка FileSummary
Найдите файл базы данных (.dbp) в списке, отсортировав таблицу по Path или Standby.
| Проверка с базами малого размера не даст видимого результата, т.к. весь ее объём система загрузит в StandbyList. |
В поле Standby отображается «зарезервированный» размер. Этот объём не отображается в Диспетчере Задач в качестве использованной памяти, но показывает системе, что к ней можно обратиться в любой момент. В случае, если закачивается ОП, операционная система автоматически очищает файлы из списка согласно своему приоритету. Pilot не управляет очередью, а помещает файл базы данных в лист ожидающих к использованию файлов.
Чтобы немедленно освободить память из листа ожидания (StandBy List):
- Остановите PilotServer.
- В файле настроек Pilot-Server Settings.xml изменитe значение параметра WarmUp на false .
- В RamMap выберите Empty — Empty StandBy List и обновить данные File — Refresh (F5).
- Запустите Pilot-Server.