Влияние на производительность, если APPLHEAPSZ установлен слишком низко

У меня есть сервер с 4 ГБ ОЗУ, установленный с DB2 10.5 и WebSphere Application Server 8.0. Недавно мы увеличили объем оперативной памяти до 12 ГБ для повышения производительности. Когда я проверяю параметры конфигурации базы данных, APPLHEAPSZ устанавливается на 4096.

С увеличением оперативной памяти до 12 ГБ, как APPLHEAPSZ будет по-прежнему иметь значение 4096 VS APPLHEAPSZ, установленное на АВТОМАТИЧЕСКОЕ, влияет на производительность?

2 ответа

Размер кучи приложения не влияет на производительность базы данных. Если приложению не хватает места в куче, оно просто откатится назад, оно не станет медленнее.

Другие потребители памяти, в первую очередь буферные пулы и куча сортировки, влияют на производительность, поэтому вы можете настроить их вместо этого.

Вы не упоминаете, является ли ваша установка DB2 32-битной или 64-битной. Имейте в виду, что 32-разрядные приложения не могут использовать память более 4 ГБ, независимо от того, сколько физической памяти у вас есть на вашем компьютере.

На производстве, как правило, сервер приложений и сервер базы данных устанавливаются на отдельных компьютерах с высокой конфигурацией.

В вашем случае они оба установлены на одной машине. APPLHEAPSZ относится к объему памяти приложения, которое может использовать каждый отдельный агент базы данных, работающий для этого приложения. Эта память может меняться в зависимости от требований / использования памяти приложения / базы данных. Для этого параметра установлено значение Автоматически из DB2 9.5 версии, чтобы избежать ошибок OOM на стороне БД. Это значение должно оставаться неизменным, только если

  1. Вы хорошо знаете требования к памяти агента БД
  2. У вас очень мало памяти, и вам нужно ограничить использование памяти фиксированным значением. (Как и в вашем случае, у вас есть сервер приложений, также установленный на том же сервере, и чтобы получить достаточно памяти для сервера приложений, вам нужно ограничить использование сервера БД и наоборот)

Если возможно, разместите приложение и сервер БД на разных компьютерах и установите параметр как автоматический (если это невозможно, сохраните фиксированное значение с правильным балансом "память приложения + память БД APPLHEAPSZ + системная память")

С точки зрения производительности, фиксированное значение должно давать хорошую производительность, если использование БД довольно низкое. Если использование БД превышает заданное значение с точки зрения памяти, вы сталкиваетесь с ухудшением производительности. Автоматическое значение будет служить лучше всего большую часть времени.

Другие вопросы по тегам