ODR 是 SIP 和 HTTP 流量的智能路由器,充当应用程序服务器和 Web 服务器的中介。有许多因素会影响 ODR 的性能;为了从 ODR 获得最佳性能,有时需要调整这些 ODR。
开始之前
- 调整 Java™ 虚拟机。有关更多信息,请阅读“调整 Java 的 IBM® 虚拟机”。
- 移除除 *=info 之外的所有跟踪信息,因为此类型的跟踪会影响 ODR 的性能。要更改跟踪信息,请执行下列步骤:
- 选择。
- 确保仅指定 *=info。
- ODR 应从不受 CPU 或内存使用量的限制。因此,在具有服务器虚拟化的环境中安装 ODR 时,配置 ODR 在其中以专用处理器方式运行的虚拟机或 LPAR,或在 ODR 运行时以保证 ODR 接收到充足量的 CPU 资源和专用内存方式配置虚拟机或 LPAR。
- 二进制跟踪功能 (BTF) 对性能影响最小,并可保留为启用状态
关于此任务
ODR 的缺省设置在大多数时间适合多数人。对于您的安装,有必要采取下列某些或所有步骤来获得最大的性能。这些步骤按重要性的优先顺序排列。
过程
- 检查 JVM 设置。有关 JVM 设置的更多信息,请阅读“修改随需应变路由器的 JVM 堆大小”。
HP 和 Sun 提供其他调整参数以优化垃圾回收。对于代垃圾回收 JVM(如 Sun 和 HP,或 IBM 的 J9 JVM),当使用 gencon 垃圾回收时,将永久内存区域设置为约 100MB,以包括 ODR 中存在的 90MB 的基本占用量。另外,SurvivorRation V16 会在您的生成中进一步优化处理。 在 HP JVM 上,您可以通过使用 -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider 选择器提供程序,并在读取 -XX:-ExtraPollBeforeRead 之前禁用额外轮询来调整 NIO 以产生性能方面的提高。
- 调整连接以保持活动设置。有关更多信息,请阅读“调整 ODR 持续连接”。
- 调整每台服务器的 ODR 的最大连接数。有关更多信息,请阅读“调整 ODR 的最大连接数”。
- 不在使用中时禁用 ODR 高速缓存。 启用 ODR 高速缓存时,ODR 必须通过确定是否该高速缓存某个请求的过程,然后检查调整高速缓存存储库来检查先前是否高速缓存了某个请求。在 ODR 上这方面的附加开销可能会造成 ODR 的瓶颈。
- 如果不需要,请禁用访问日志记录。 如果您需要访问日志记录,那么代理日志记录优先于 HTTP 通道/NCSA 日志记录,因为代理访问日志记录发生在请求/应答路径之外。这样,它不会影响请求的响应时间。在较快的磁盘上访问日志记录一般需要 5% 的开销,但百分比高度依赖磁盘性能。
- 为入站和出站工作使用相同的线程组,这将避免在线程中移动请求,且不会导致开销。 ODR 有一组线程,这些线程可在多数情况下进行自身调整。将排队和调速请求分派到缺省线程池,您可以进行调整以便它仅处理溢出请求。主线程组将继续处理大多数请求。线程池上的所有请求与无分块调用异步,因此,每个 CPU 在数量上不应该超过一个或两个线程。完成下列步骤以将相同的线程组用于入站工作和出站工作。
- 选择。
- 将 combineSelectors 指定为名称。
- 将 1 指定为值。
- 单击确定。
- 单击保存。