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

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

Подготовка

Включение G1GC в Message Processor

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

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

  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 Message Processor:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}

    Строка между тегами {T}{/T} – это название токена, которое можно задать в файле .properties Message Processor. Таким образом, токен для свойства useG1GC будет выглядеть следующим образом:

    conf_system_useG1GC

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

Ниже описано, как включить G1GC в Apigee Message Processor.

  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. Если у вас несколько Message Processor, повторите эти действия для каждого из них.

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

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

Хотя вы используете токен conf_system_useG1GC, чтобы включить G1GC в Message Processor, вам необходимо убедиться, что фактическое свойство 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 в Message Processor. Если вы пропустили какой-либо шаг, повторите все шаги правильно.
  4. Если вам по-прежнему не удается включить G1GC, обратитесь в службу поддержки Apigee Edge.

Что дальше?

Как включить дедупликацию строк в Message Processor