В зависимости от трафика и требований к обработке вам может понадобиться изменить размер памяти кучи или метаданных класса для узлов, на которых работают компоненты частного облака на основе Java.
В этом разделе приведены значения по умолчанию и рекомендуемые размеры кучи Java, а также описано, как изменить значения по умолчанию. В последнем разделе этой статьи рассказывается, как изменить другие настройки JVM с помощью файлов свойств.
Размеры памяти кучи по умолчанию и рекомендуемые размеры
В таблице ниже указаны размеры памяти кучи Java по умолчанию и рекомендуемые размеры для компонентов частного облака на основе Java:
| Компонент | Название файла свойств | По умолчанию Размер кучи |
Рекомендуемый Размер кучи |
|---|---|---|---|
| Время выполнения | |||
| Cassandra | – | Настроено автоматически1 | Настроено автоматически1 |
| Message Processor | message‑processor.properties |
512 МБ | 3–6 ГБ2 |
| Маршрутизатор | router.properties |
512 МБ | 512 МБ |
| Аналитика | |||
| Сервер Postgres | postgres‑server.properties |
512 МБ | 512 МБ |
| Сервер Qpid | qpid‑server.properties |
512 МБ | 2–4 ГБ |
| Управляющие | |||
| Сервер управления | management‑server.properties |
512 МБ | 512 МБ |
| Интерфейс | ui.properties |
512 МБ | 512 МБ |
| SymasLDAP | – | Нативное приложение3 | Нативное приложение3 |
| Смотритель зоопарка | zookeeper.properties |
2048 МБ | 2048 МБ |
| Примечания | |||
1 Cassandra динамически рассчитывает максимальный размер кучи при запуске. В настоящее время это половина общего объема системной памяти, но не более 8192 МБ. Информацию о том, как задать размер кучи, можно найти в разделе Как изменить размер памяти кучи. |
|||
| 2 Для процессоров сообщений Apigee рекомендует установить размер кучи от 3 до 6 ГБ. Увеличивайте размер кучи до более чем 6 ГБ только после проведения тестов производительности.
Если во время тестирования производительности использование кучи приближается к максимальному лимиту, увеличьте его. Информацию о том, как задать размер кучи, можно найти в разделе Как изменить размер памяти кучи. |
|||
| 3 Не все компоненты частного облака реализованы на языке Java. Поскольку приложения, работающие на хост-платформе, не основаны на Java, они не имеют настраиваемого размера кучи Java. Вместо этого они полагаются на хост-систему для управления памятью. | |||
Чтобы определить, сколько памяти Apigee рекомендует выделить для компонентов на основе Java на узле, сложите значения, указанные выше для каждого компонента на этом узле. Например, если на вашем узле размещены серверы Postgres и Qpid, Apigee рекомендует выделить для них от 2,5 до 4,5 ГБ памяти.
Список необходимого оборудования (например, ОЗУ) приведен в разделе Требования к установке.
Как изменить размер памяти кучи
Чтобы изменить настройки памяти кучи, отредактируйте файл свойств компонента. Например, для Message Processor измените файл /opt/apigee/customer/application/message-processor.properties.
Если файла message-processor.properties не существует или если соответствующий файл .properties для какого-либо компонента Edge отсутствует, создайте его и измените владельца файла на пользователя apigee, как показано в следующем примере:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
Если компонент установлен на нескольких машинах, например на Message Processor, вам нужно изменить файл свойств на всех машинах, на которых размещен компонент.
В таблице ниже перечислены свойства, которые можно изменить, чтобы задать размер кучи.
| Свойство | Описание |
|---|---|
bin_setenv_min_mem |
Минимальный размер кучи. Значение по умолчанию зависит от значений, указанных в разделе Рекомендуемые размеры памяти кучи по умолчанию. Эта настройка соответствует параметру |
bin_setenv_max_mem |
Максимальный размер кучи. Значение по умолчанию зависит от значений, указанных в разделе Рекомендуемые размеры памяти кучи по умолчанию. Эта настройка соответствует параметру |
bin_setenv_meta_space_size |
Размер метаданных курса по умолчанию. Значение по умолчанию – значение параметра Эта настройка соответствует параметру |
При задании свойств размера кучи в узле используйте суффикс "m", чтобы указать мегабайты, как показано в следующем примере:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
После того как вы зададите значения в файле свойств, перезапустите компонент:
/opt/apigee/apigee-service/bin/apigee-service component restart
Пример:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Как изменить другие свойства JVM
Для настроек Java, не контролируемых перечисленными выше свойствами, можно также задать следующие параметры в соответствующем файле свойств для любого компонента Edge:
bin_setenv_ext_jvm_opts: задает любое свойство Java, не указанное в других свойствах. Пример:bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
Однако не используйте
bin_setenv_ext_jvm_opts, чтобы задать-Xms,-Xmxили-XX:MetaspaceSize, поскольку эти значения контролируются перечисленными выше свойствами.
Дополнительные советы по настройке памяти для компонентов частного облака можно найти в этой статье на форумах Edge.