Как включить G1GC в процессорах сообщений

Вы просматриваете документацию по 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, позволяя дублирующимся или идентичным строковым значениям совместно использовать один и тот же массив символов.

Подготовка

Как включить G1GC в процессорах сообщений

В этом разделе рассказывается, как включить G1GC в Message Processor Edge. G1GC можно включить с помощью свойства useG1GC в компоненте Message Processor. По умолчанию для этого свойства в процессорах сообщений задано значение false. Чтобы настроить любое свойство в процессоре сообщений, используйте токен в соответствии с синтаксисом, описанным в разделе Как настроить Edge.

Чтобы включить G1GC на процессорах сообщений, выполните следующие действия:

  1. Как найти токен для ресурса useG1GC
  2. Как включить G1GC в Message Processor

Как найти токен для ресурса useG1GC

Чтобы найти токен для свойства useG1GC, выполните следующие действия:

  1. Найдите свойство useG1GC в каталоге с исходными файлами Message Processor /opt/apigee/edge-message-processor/source с помощью следующей команды:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
  2. В результате выполнения этой команды будет показан токен для свойства обработчика сообщений 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, выполните следующие действия:

  1. Откройте файл /opt/apigee/customer/application/message-processor.properties на компьютере Message Processor в редакторе. Если файла ещё нет, создайте его. Пример:
    vi /opt/apigee/customer/application/message-processor.properties
  2. Добавьте в этот файл следующую строку:
    conf_system_useG1GC=true
  3. Сохраните изменения.
  4. Убедитесь, что файл свойств принадлежит пользователю apigee. Пример:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Перезапустите Message Processor, используя следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Если у вас несколько процессоров сообщений, повторите эти шаги на каждом из них.

Проверка конфигурации G1GC на процессорах сообщений

В этом разделе рассказывается, как проверить, что конфигурация G1GC была успешно изменена в процессорах сообщений.

Даже если вы используете токен conf_system_useG1GC, чтобы включить G1GC в процессоре сообщений, вам нужно проверить, что для свойства useG1GC задано новое значение. Для этого выполните следующие действия:

  1. Найдите свойство useG1GC в каталоге /opt/apigee/edge-message-processor/conf и убедитесь, что для него задано новое значение. Пример:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
  2. Если G1GC успешно включен в Message Processor, то в файле system.properties будет указано новое значение.

    Пример результата выполнения предыдущей команды после включения G1GC в обработчике сообщений:

    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true

    В примере выходных данных обратите внимание, что свойству useG1GC задано новое значение true в system.properties. Это означает, что G1GC успешно включен в Message Processor.

  3. Если вы по-прежнему видите старое значение для свойства useG1GC, убедитесь, что вы правильно выполнили все шаги, описанные в разделе Включение G1GC на процессорах сообщений. Если вы пропустили какой-либо шаг, повторите все действия заново.
  4. Если вам не удается включить G1GC, обратитесь в службу поддержки Apigee Edge.

Что дальше?

Как включить дедупликацию строк в процессорах сообщений