Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
В этой статье рассказывается, как включить Garbage First Garbage Collector (G1GC) в процессорах сообщений Apigee Edge.
Процессор сообщений Apigee Edge работает на виртуальной машине Java (JVM) и использует сборщик мусора по умолчанию – последовательный или параллельный, в зависимости от конфигурации оборудования и операционной системы. В некоторых случаях и в зависимости от ваших потребностей может потребоваться изменить тип сборщика мусора, используемый в Message Processor.
G1GC – это поколенческий сборщик мусора для Java HotSpot VM в серверном стиле с низким уровнем пауз, который улучшает общую производительность Message Processor. Обычно он предназначен для приложений со средними и большими наборами данных, в которых время ответа важнее общей пропускной способности. Например, G1GC можно использовать, если размер кучи превышает 3 ГБ.
Вместе с G1GC рекомендуется задать ещё один параметр JVM UseStringDeduplication. Этот параметр оптимизирует использование памяти кучи Java, позволяя дублирующимся или идентичным строковым значениям совместно использовать один и тот же массив символов.
Подготовка
- Если вы не знакомы с процессом сборки мусора и разными типами сборщиков мусора в Java, прочитайте статью Основы сборки мусора в Java.
- Если вы не знакомы с G1GC, прочитайте статью Начало работы с коллектором мусора G1.
- Если вы не знаете, как настраивать свойства для Edge в частном облаке, прочитайте статью Как настроить Edge.
Как включить G1GC в процессорах сообщений
В этом разделе рассказывается, как включить G1GC в Message Processor Edge. G1GC можно включить с помощью свойства useG1GC в компоненте Message Processor. По умолчанию для этого свойства в процессорах сообщений задано значение false. Чтобы настроить любое свойство в процессоре сообщений, используйте токен в соответствии с синтаксисом, описанным в разделе Как настроить Edge.
Чтобы включить G1GC на процессорах сообщений, выполните следующие действия:
Как найти токен для ресурса useG1GC
Чтобы найти токен для свойства useG1GC, выполните следующие действия:
- Найдите свойство
useG1GCв каталоге с исходными файлами Message Processor/opt/apigee/edge-message-processor/sourceс помощью следующей команды:grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
-
В результате выполнения этой команды будет показан токен для свойства обработчика сообщений
useG1GC, как показано ниже:/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}Строка между тегами
{T}{/T}– это название токена, который можно задать в файле.propertiesобработчика сообщений. Таким образом, токен для свойстваuseG1GCбудет выглядеть следующим образом:conf_system_useG1GC
Как включить G1GC на процессорах сообщений
Чтобы включить G1GC в процессорах сообщений Apigee, выполните следующие действия:
-
Откройте файл
/opt/apigee/customer/application/message-processor.propertiesна компьютере Message Processor в редакторе. Если файла ещё нет, создайте его. Пример:vi /opt/apigee/customer/application/message-processor.properties
-
Добавьте в этот файл следующую строку:
conf_system_useG1GC=true
- Сохраните изменения.
-
Убедитесь, что файл свойств принадлежит пользователю
apigee. Пример:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Перезапустите Message Processor, используя следующую команду:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Если у вас несколько процессоров сообщений, повторите эти шаги на каждом из них.
Проверка конфигурации G1GC на процессорах сообщений
В этом разделе рассказывается, как проверить, что конфигурация G1GC была успешно изменена в процессорах сообщений.
Даже если вы используете токен conf_system_useG1GC, чтобы включить G1GC в процессоре сообщений, вам нужно проверить, что для свойства useG1GC задано новое значение. Для этого выполните следующие действия:
-
Найдите свойство
useG1GCв каталоге/opt/apigee/edge-message-processor/confи убедитесь, что для него задано новое значение. Пример:grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
-
Если G1GC успешно включен в Message Processor, то в файле
system.propertiesбудет указано новое значение.Пример результата выполнения предыдущей команды после включения G1GC в обработчике сообщений:
/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
В примере выходных данных обратите внимание, что свойству
useG1GCзадано новое значениеtrueвsystem.properties. Это означает, что G1GC успешно включен в Message Processor. -
Если вы по-прежнему видите старое значение для свойства
useG1GC, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Включение G1GC на процессорах сообщений. Если вы пропустили какой-либо шаг, повторите все действия заново. - Если вам не удается включить G1GC, обратитесь в службу поддержки Apigee Edge.