适用于私有云的 Edge 版本 4.52.02 附带 Qpid Broker-J 8.0.6。本页介绍了
内存和磁盘的注意事项
Edge for Private Cloud 的 apigee-qpidd
组件(具有基于 Java 的代理)。
以下部分仅适用于
Qpid 用例,并说明了如何使用 Apigee 的配置机制调整 Qpid。
Apigee 中的 Qpid
在 Apigee 中,Qpid 用于两个主要工作流:
- 分析
- 创收
在这两种工作流中,消息处理器均生成消息, 分批收集并推送到 Qpid。对于 Google Analytics,消息由 Qpid-server 读取; 对于创收,评级服务器(管理服务器的一部分)会读取这些值。 读取后,系统会对分批的消息进行取消批处理和提取。
建议的配置
以下各部分介绍了推荐的内存和磁盘配置(使用 Qpid。这些配置基于 Google Analytics 或 变现。使用 默认批次大小为 50,Qpid 中的每条消息大约为 100 kb。Apigee 允许代理修改消息和添加其他信息 (分析或创收)。在极端情况下,这可能会显著改变 Qpid 中的单条消息和整条批处理消息。虽然一般的 即使在这种情况下, 您可能需要对 Qpid 进行其他调整,以确保运行顺畅。
内存
Qpid Broker 使用两种内存:堆外内存和堆内存。Qpid 将消息存储到 堆外内存,并将堆内存用于自己的内部任务, 发送到队列和交换等的消息。在大多数情况下,Apigee 建议您保留 Qpid Broker 堆外内存与堆内存之间的比率为 3:1。
堆外内存中的消息会保留在磁盘上。此外,如果 堆外内存超出特定阈值,则 Qpid 配置为将消息溢出至磁盘。
默认情况下,Apigee 根据可用内存计算 Qpid Broker 的堆内存和堆外内存 节点上对于 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 配置: 了解如何覆盖配置的信息。
如需了解详情,请参阅 <ph type="x-smartling-placeholder"></ph> 适用于内存的 Apache Qpid 参考。
磁盘
Qpid Broker 的数据目录是 $APIGEE_ROOT/data/apigee-qpidd
。
Qpid Broker 的日志存储在 $APIGEE_ROOT/var/log/apigee-qpidd
中。
托管数据目录的文件系统的性能是 作为一个整体的经纪人。为获得最佳性能,请选择延迟时间较短且符合以下条件的设备 以供其他应用使用
Qpid Broker 会在数据目录中保留其消息。默认情况下,Broker 会接受 消息,直到托管数据目录的文件系统已满 80%。您可以修改这一 以在每个 Qpid 节点上替换以下示例中显示的配置。
bin_run-qpidd_qpid.store.filesystem.maxUsagePercent=60
在此示例中,当底层文件系统为 60% 时,代理会拒绝新消息 满格。
如何更改 Qpid 配置
要更改 Qpid 配置,请执行以下操作:
- 创建或修改以下文件:
$APIGEE_ROOT/customer/application/qpidd.properties
- 根据需要添加或移除或修改配置。
例如,要将 Qpid Broker 的最大堆内存更改为 6 GB,请添加以下配置
替换文件:
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 重启