Изменение поведения Performance Insights при превышении рассчитанного числа блокировок (Lock)
Описание
В СУБД Pangolin изменилось поведение Performance Insights при превышении рассчитанного числа блокировок (Lock).
Ранее при большом количестве блокировок (Lock) потребление общей памяти (shared memory), выделенной под хранение выборок Activity и Lock в Performance Insights, могло неограниченно расти из-за особенностей внутренней структуры хранения данных.
Настройка
В СУБД Pangolin установлен строгий лимит: если при получении очередной выборки Activity он не помещается в выделенную общую память, то все ранее сохраненные в ней данные будут удалены. Начиная с этого момента все новые выборки записываются непосредственно на диск. Такое поведение сохраняется до перезапуска кластера и полностью аналогично режиму, когда параметр performance_insights.num_samples_in_ram = 0.
Данный сценарий предназначен исключительно для защиты от выхода за границы рассчитанного при старте объема памяти.
Если предполагается выполнение операций с числом Lock, превышающим ожидаемое, рекомендуется изначально использовать режим без общей памяти (performance_insights.num_samples_in_ram = 0).
При переключении стратегии все загруженные в память выборки Activity и Lock очищаются без сохранения. Их точное количество фиксируется в сообщении уровня WARNING, где также приводятся рекомендации по настройке параметра performance_insights.num_samples_in_ram для последующих запусков.