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

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

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

Дедупликация строк — это функция Java, которая помогает экономить память, занимаемую повторяющимися объектами String в приложениях Java. Это уменьшает объем памяти, занимаемой объектами String в памяти кучи Java, заставляя повторяющиеся или идентичные значения String использовать один и тот же массив символов.

Apigee Edge Message Processor — это компонент на основе Java. Использование дедупликации строк в процессоре сообщений может повысить производительность ваших прокси-серверов API за счет уменьшения использования памяти, особенно если прокси-серверы API интенсивно используют строки.

Функцию дедупликации строк можно использовать только со сборщиком мусора G1 (G1GC) в приложениях Java. Если вы хотите включить эту функцию в процессоре сообщений, вам необходимо уже включить G1GC или одновременно включить G1GC и дедупликацию строк в процессоре сообщений.

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

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

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

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

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

Найдите токен для свойства useStringDeduplication.

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

  1. Найдите свойство useStringDeduplication в исходном каталоге процессора сообщений /opt/apigee/edge-message-processor/source используя следующую команду:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
  2. В выводе этой команды отображается токен для свойства useStringDeduplication процессора сообщений следующим образом:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    Где строка между тегами {T}{/T} — это имя токена, который вы можете установить в файле .properties процессора сообщений. Таким образом, токен для свойства useStringDeduplication выглядит следующим образом:

    conf_system_useStringDeduplication

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

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

  1. Откройте файл /opt/apigee/customer/application/message-processor.properties на компьютере с процессором сообщений в редакторе. Если файл еще не существует, создайте его. Например:
    vi /opt/apigee/customer/application/message-processor.properties
  2. Добавьте в этот файл следующую строку:
    conf_system_useStringDeduplication=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. Если у вас несколько процессоров сообщений, повторите эти шаги для всех процессоров сообщений.

Проверка дедупликации строк на процессорах сообщений

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

Даже если вы используете токен conf_system_useStringDeduplication для включения дедупликации строк в процессоре сообщений, вам необходимо убедиться, что фактическому свойству useStringDeduplication присвоено новое значение следующим образом:

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

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

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

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

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

Что дальше?

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