Edge для частного облака версии 4.52.01 поставляется с Qpid Broker-J 8.0.6. На этой странице описаны рекомендации по памяти и диску для компонента apigee-qpidd
Edge для частного облака (с брокером на основе Java). Разделы ниже относятся конкретно к варианту использования Apigee Qpid и объясняют, как настроить Qpid с помощью механизмов настройки Apigee.
Qpid в Apigee
В Apigee Qpid используется в двух основных рабочих процессах:
- Аналитика
- Монетизация
В обоих этих рабочих процессах процессор сообщений генерирует сообщения, которые собираются в пакеты и передаются в Qpid. Для Analytics сообщения читает Qpid-сервер; для монетизации они читаются Рейтинговым Сервером (частью управляющего сервера). После прочтения пакетные сообщения не группируются и не принимаются.
Рекомендуемые конфигурации
В следующих разделах описаны рекомендуемые конфигурации памяти и диска с помощью Qpid. Эти конфигурации основаны на одном сообщении размером 2 КБ для аналитики или монетизации. При размере пакета по умолчанию 50 каждое сообщение в Qpid будет иметь размер примерно 100 КБ. Apigee позволяет прокси-серверам изменять и добавлять дополнительную информацию к сообщению (аналитика или монетизация). В крайних случаях это может существенно изменить размер одного сообщения и всего пакетного сообщения в Qpid. Хотя общие рекомендации относительно памяти и диска, приведенные в разделах ниже, справедливы даже в таких случаях, вам может потребоваться выполнить дополнительные настройки Qpid, чтобы обеспечить бесперебойную работу.
Память
Qpid Broker использует два типа памяти: память вне кучи и память в куче. Qpid хранит сообщения в памяти вне кучи и использует память кучи для своих собственных внутренних задач, направления сообщений в очереди и обмены и т. д. В большинстве случаев Apigee рекомендует поддерживать соотношение 3:1 между памятью вне кучи и кучей для Qpid-брокер.
Сообщения в памяти вне кучи сохраняются на диске. Кроме того, если общее использование памяти вне кучи превышает определенный порог, Qpid настраивается на переполнение сообщений на диск.
По умолчанию Apigee вычисляет память в куче и вне кучи Qpid Broker на основе доступной памяти на узле. Сценарии Apigee имеют мягкое ограничение в 4 ГБ для кучи и внекучной памяти Qpid Broker. Если вы хотите переопределить эти ограничения, вы можете использовать две конфигурации ниже, чтобы установить свои собственные значения для кучи и внекучной памяти Qpid.
- Конфигурация динамической памяти:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=1024m
- Конфигурация для памяти вне кучи:
bin_run-qpidd_qpid.run.jvm.max_direct_memory_size=3072m
См. раздел «Как изменить конфигурацию Qpid» для получения информации о том, как переопределить конфигурации.
Для получения дополнительной информации см. Справочник по Apache Qpid для памяти .
Диск
Каталог данных Qpid Broker — $APIGEE_ROOT/data/apigee-qpidd
. Журналы Qpid Broker хранятся в $APIGEE_ROOT/var/log/apigee-qpidd
.
Производительность файловой системы, в которой находится каталог данных, является ключом к производительности Broker в целом. Для достижения наилучшей производительности выберите устройство с низкой задержкой и не используемое другими приложениями.
Брокер Qpid сохраняет свои сообщения в каталоге данных. По умолчанию Брокер будет принимать сообщения до тех пор, пока файловая система, в которой находится каталог данных, не заполнится на 80%. Вы можете изменить это пороговое значение, переопределив конфигурацию, показанную в примере ниже, на каждом узле Qpid.
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
В этом примере брокер отклоняет новые сообщения, когда базовая файловая система заполнена на 60%.
Как изменить конфигурацию Qpid
Чтобы изменить конфигурацию Qpid:
- Создайте или отредактируйте следующий файл:
$APIGEE_ROOT/customer/application/qpidd.properties
- При необходимости добавьте, удалите или измените конфигурацию. Например, чтобы изменить максимальный размер кучи Qpid Broker на 6 ГБ, добавьте в файл следующее переопределение конфигурации:
bin_run-qpidd_qpid.run.jvm.max_vm_heap=6144M
- Сохраните изменения и убедитесь, что файл принадлежит пользователю
apigee
и доступен для чтения:chown apigee:apigee $APIGEE_ROOT/customer/application/qpidd.properties
- Перезапустите процесс
qpidd
:apigee-service apigee-qpidd restart