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

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В этом документе объясняется, как включить сборщик мусора Garbage First (G1GC) на процессорах сообщений Apigee Edge.

Процессор сообщений Apigee Edge работает на виртуальной машине Java (JVM) и использует сборщик мусора по умолчанию — последовательный или параллельный, в зависимости от конфигурации оборудования и операционной системы. При определенных обстоятельствах и в зависимости от ваших потребностей вы можете изменить тип сборщика мусора, используемый в процессоре сообщений.

G1GC — это серверный сборщик мусора с низкой паузой для виртуальной машины Java HotSpot, который повышает общую производительность процессора сообщений. Обычно он предназначен для приложений с наборами данных среднего и большого размера, в которых время отклика важнее общей пропускной способности. Например: вы можете рассмотреть возможность использования G1GC, если размер кучи большой (более 3 ГБ).

Обычно рекомендуется установить еще один параметр JVM UseStringDeduplication вместе с G1GC. Этот параметр оптимизирует использование памяти кучи Java, заставляя повторяющиеся или идентичные значения String использовать один и тот же массив символов.

Прежде чем начать

Включение G1GC на процессорах сообщений

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

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

  1. Найдите токен для использования свойства G1GC.
  2. Включить G1GC на процессоре сообщений

Найдите токен для использования свойства G1GC.

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

  1. Найдите свойство useG1GC в исходном каталоге процессора сообщений /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 на компьютере с процессором сообщений в редакторе. Если файл еще не существует, создайте его. Например:
    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. Перезапустите процессор сообщений, используя следующую команду:
    /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 успешно включен в процессоре сообщений, предыдущая команда покажет новое значение в файле system.properties .

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

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

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

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

Что дальше?

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