Квоты сервера (Configuration.Quotas)#
Configuration.Quotas - набор лимитов для разных внутренних контуров приложения.
Во всех секциях есть параметр raiseError: если true - при превышении лимита пробрасывается исключение; если
false - только запись в лог.
Примеры конфигурации#
Настройки по умолчанию:
<quotas>
<server maxOldGenMemory="0" maxEdenSpaceMemory="80%" raiseError="true"/>
<session maxUiCellCount="5M" maxFormCount="10" raiseError="true"/>
<transaction maxTxCellCount="5M" raiseError="true"/>
</quotas>
Рекомендуемые настройки:
<quotas>
<server maxOldGenMemory="80%" maxEdenSpaceMemory="80%" raiseError="true"/>
<session maxUiCellCount="5M" maxFormCount="10" raiseError="true"/>
<transaction maxTxCellCount="1M" raiseError="true"/>
</quotas>
server - ServerQuota#
Лимиты по памяти JVM-процесса сервера приложений.
maxOldGenMemory#
Порог по PS Old Gen: когда Old Gen достигает значения - срабатывает триггер превышения.
Тип: String
Формат: процент (
80%) или байты (1234,1K,1M,1G,1T)Дефолт:
"0"(отключено)Рекомендовано:
"80%"При превышении: см.
raiseError
maxEdenSpaceMemory#
Порог по PS Eden Space: когда Eden достигает значения - срабатывает триггер превышения.
Тип: String
Формат: процент (
80%) или байты (1234,1K,1M,1G,1T)Дефолт:
"80%"Рекомендовано:
"80%"При превышении: см.
raiseError
raiseError#
Тип: Boolean (
true/false)Дефолт:
truefalse: только логируем превышениеtrue: пробрасываем исключение
session - SessionQuota#
Лимиты на пользователя/сеанс: объём отображаемых данных, число открытых форм.
maxUiCellCount#
Максимальное число ячеек отображаемых данных на одну пользовательскую сессию.
Тип: String
Формат:
1234,1K,1M,1G,1T(диапазон 0..Long.MAX_VALUE)Дефолт:
"5M"Рекомендовано:
"5M"При превышении: см.
raiseError
maxUiRowCount#
Максимальное число строк отображаемых данных на сессию.
Тип: String
Формат:
1234,1K,1M,1G,1T(диапазон 0..Long.MAX_VALUE)Дефолт: не задано
При превышении: см.
raiseError
maxFormCount#
Максимальное число одновременно открытых MDI-форм для рабочего сеанса.
Тип: Integer
Дефолт:
10Рекомендовано:
10При превышении: см.
raiseError
raiseError#
Тип: Boolean (
true/false)Дефолт:
truefalse: только логtrue: исключение
thread - ThreadQuota#
Лимиты на рабочий поток (по JDBC-коннектам).
maxJdbcConnectionCount#
Максимальное разрешённое число JDBC-соединений на рабочий поток.
Тип: Integer
Формат:
0или1..Integer.MAX_VALUEДефолт: не задано
Если значение <= 0 ИЛИ равно
Integer.MAX_VALUE- ограничение не ставится
transaction - TransactionQuota#
Лимиты на gtk-транзакцию (размер данных).
maxTxCellCount#
Максимальное число ячеек данных для одной gtk-транзакции.
Тип: String
Формат:
1234,1K,1M,1G,1T(диапазон 0..Long.MAX_VALUE)Дефолт:
"5M"Рекомендовано:
"1M"При превышении: см.
raiseError
maxTxRowCount#
Максимальное число строк данных для одной gtk-транзакции.
Тип: String
Формат:
1234,1K,1M,1G,1T(диапазон 0..Long.MAX_VALUE)Дефолт: не задано
При превышении: см.
raiseError
raiseError#
Тип: Boolean (
true/false)Дефолт:
truefalse: только логtrue: исключение
jdbc - JdbcQuota#
Лимиты на пропускную способность Postgres через модель стоимости SQL-вызовов.
enabled#
Включает/выключает проверки превышения «стоимостей».
Тип: Boolean
Дефолт: не задано
maxTxCost#
Максимальная суммарная стоимость SQL-вызовов в gtk-транзакции.
Тип: Double (0..Double.MAX_VALUE)
Дефолт: не задано
При превышении: exception
logTxCost#
Порог суммарной стоимости SQL-вызовов в транзакции для предупреждения.
Тип: Double (0..Double.MAX_VALUE)
Дефолт: не задано
При превышении: warning в лог
maxExecCost#
Максимальная стоимость одиночного SQL-вызова.
Тип: Double (0..Double.MAX_VALUE)
Дефолт: не задано
При превышении: exception
logExecCost#
Порог стоимости одиночного SQL-вызова для предупреждения.
Тип: Double (0..Double.MAX_VALUE)
Дефолт: не задано
При превышении: warning в лог
pgCostRates#
Вложенный элемент с коэффициентами для формулы стоимости SQL-вызова (Postgres).
pgCostRates - PgCostRateConfig#
Коэффициенты в формуле стоимости SQL-вызова. Все параметры типа Double, диапазон 0.0..1.0.
shared_blks_hit - коэффициент для обращений к страницам из shared buffer
shared_blks_read - коэффициент для страниц, прочитанных с диска
shared_blks_dirtied - коэффициент для «загрязнённых» страниц
shared_blks_written - коэффициент для записанных страниц