Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. info
В этой статье рассказывается, как включить Garbage First Garbage Collector (G1GC) в процессорах сообщений Apigee Edge.
Процессор сообщений Apigee Edge работает на виртуальной машине Java (JVM) и использует сборщик мусора по умолчанию – последовательный или параллельный, в зависимости от конфигурации оборудования и операционной системы. В некоторых случаях и в зависимости от ваших потребностей вы можете изменить тип сборщика мусора, используемого в Message Processor.
G1GC – это поколенческий сборщик мусора серверного типа с короткими паузами для виртуальной машины Java HotSpot, который повышает общую производительность Message Processor. Обычно он предназначен для приложений с наборами данных среднего и большого размера, в которых время отклика важнее общей пропускной способности. Например, если размер кучи большой (более 3 ГБ), можно использовать G1GC.
Рекомендуется задать ещё один параметр JVM UseStringDeduplication вместе с G1GC. Этот параметр оптимизирует использование памяти Java heap, заставляя дублирующиеся или идентичные значения String использовать один и тот же массив символов.
Подготовка
- Если вы не знакомы со сборкой мусора и различными типами сборщиков мусора в Java, прочитайте статью Основы сборки мусора в Java.
- Если вы не знакомы с G1GC, прочитайте статью Начало работы со сборщиком мусора G1.
- Если вы не знаете, как настраивать свойства для Edge в частном облаке, прочитайте статью Как настроить Edge.
Включение G1GC в Message Processor
В этом разделе объясняется, как включить G1GC в Edge Message Processor. G1GC можно включить с помощью свойства useG1GC в компоненте Message Processor. По умолчанию для этого свойства в Message Processor задано значение false. Чтобы настроить любое свойство в процессоре сообщений, используйте токен в соответствии с синтаксисом, описанным в разделе Как настроить Edge.
Чтобы включить G1GC в Message Processor, выполните следующие действия:
Как найти токен для ресурса useG1GC
Чтобы найти токен для свойства useG1GC, выполните следующие действия:
- Найдите свойство
useG1GCв каталоге с исходными файлами Message Processor/opt/apigee/edge-message-processor/sourceс помощью следующей команды:grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
-
В результате выполнения этой команды вы увидите токен для свойства
useG1GCMessage Processor:/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}Строка между тегами
{T}{/T}– это название токена, которое можно задать в файле.propertiesMessage Processor. Таким образом, токен для свойстваuseG1GCбудет выглядеть следующим образом:conf_system_useG1GC
Как включить G1GC на процессорах сообщений
Ниже описано, как включить G1GC в Apigee Message Processor.
-
Откройте файл
/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
- Если у вас несколько Message Processor, повторите эти действия для каждого из них.
Проверка конфигурации G1GC на процессорах сообщений
В этом разделе объясняется, как проверить, что конфигурация G1GC была успешно изменена в Message Processor.
Хотя вы используете токен conf_system_useG1GC, чтобы включить G1GC в Message Processor, вам необходимо убедиться, что фактическое свойство 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 в Message Processor. Если вы пропустили какой-либо шаг, повторите все шаги правильно. - Если вам по-прежнему не удается включить G1GC, обратитесь в службу поддержки Apigee Edge.