Есть много обсуждений о том, как расходуется память на сервере QlikView. При этом, если вы используете параметр WorkingSetLimit в QMC, вы увидите что в системе идет регулярное кэширование данных. Так, при создании новый диаграммы, исходя из новой выборки пользователя, сначала сервер QlikView будет пытаться выполнить процедуру кэширования. Так, серверу QlikView требуется меньше и меньше процессорного времени на выполнение операции, но в течение дня память будет потребляться этими процессами.
А возьмем ситуацию, что на том же сервере вы запускаете Publisher / ServerReload, а также кто-то там ведет разработку.
Итак, вы можете создать такое своеобразное пасхальное яйцо через файл settings.ini сервера QlikView..
ClearCacheTimesPerDay=1
Так, кэш QlikView будет обнуляться в полночь, что означает, что все кэшированные вычисления удаляются, а сервер QlikView освободит эту часть памяти обратно в операционную систему.
Так, вы можете настроить периодичность обнуления кэша.
ClearCacheTimesPerDay=1 | Einmal am Tag um Mitternacht 00:00 |
ClearCacheTimesPerDay=2 | 00:00 und 12:00 |
ClearCacheTimesPerDay=3 | 00:00 08:00 16:00 |
… | usw. |
ClearCacheTimesPerDay=24 | jede Stunde |
Тестирование
Мы протестировали сервер Win2016 с оперативной памятью 8 ГБ. Рабочий набор сервера ограничен 50%, поэтому серверный процесс QlikView должен кэшировать до 4 ГБ данных.
Скрипт
Скрипт для тестирования работы приложения Qlik:
1 2 3 4 5 6 7 |
load 'A'&rowno() as row, rand() as value autogenerate(1000000) |
В макете есть простая таблица. Если вы выберете некоторые значения, а затем щелкните правой кнопкой мыши «Select excluded», вы заполните кеш-память сервера несколькими десятками мегабайт с каждым новым выбором.
Конфигурация и тестирование
- Служба QlikView Server остановлена. Внесены изменения в файл Settings.ini, служба запущена вновь
- Так у нас выглядит планировщик заданий.
- После обнуления кэша, по итогам тестирования мы видим такую картину: в 10:00 вы можете увидеть крутой фланг в Performance Monitor. Таким образом, память освобождается! Размер серверного процесса QlikView упал до 192 мегабайт в диспетчере задач. Установка сбросила кеш 1,98 ГБ! Оставшиеся 192 МБ — это данные в нашем тестовом приложении, а также небольшие накладные расходы на серверный процесс QlikView.
Настройка ClearCacheTimesPerDay работает более аккуратно, чем чистая остановка / начало службы QlikViewServer (в которой все онлайн-пользователи вылетают из текущего сеанса QlikView). Тем не менее, это может быть очень полезно для тестового сервера.
Свежие комментарии