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

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

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

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

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

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

Подготовка

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

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

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

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

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

Ниже описано, как найти токен для useStringDeduplication:

  1. Найдите свойство useStringDeduplication в исходном каталоге Message Processor /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 на компьютере Message Processor в редакторе. Если файла ещё нет, создайте его. Пример:
    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. Перезапустите Message Processor, используя следующую команду:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  6. Если у вас несколько процессоров сообщений, повторите эти шаги на каждом из них.

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

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

Несмотря на то что вы используете токен conf_system_useStringDeduplication, чтобы включить дедупликацию строк в Message Processor, вам нужно убедиться, что для свойства useStringDeduplication задано новое значение, как описано ниже.

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

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

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

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

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

Что дальше?

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