除了前面两节讨论的一般属性之外,HTTP/HTTPS 的性能还受到客户端向作为 Message Queue 隧道 Servlet 宿主的 Web 服务器发出 HTTP 请求的速度的限制。
Web 服务器可能需要优化,以处理单个套接字上的多个请求。在 JDK 1.4 版及更高版本中,与 Web 服务器的 HTTP 连接会一直保持活动状态(与 Web 服务器的套接字保持打开状态),以尽量减少 Web 服务器在处理多个 HTTP 请求时使用的资源。如果使用 JDK 1.4 版的客户端应用程序的性能比运行早期 JDK 版本的同一应用程序要低,则可能需要调整 Web 服务器的 keep-alive 配置参数以提高性能。
除了这样的 Web 服务器调整之外,您还可以调整客户端轮询 Web 服务器的频率。HTTP 是一种基于请求的协议。这意味着使用基于 HTTP 的协议的客户端需要定期检查 Web 服务器,以查看是否有消息在等待。imq.httpjms.http.pullPeriod 代理属性(以及相应的 imq.httpsjms.https.pullPeriod 属性)指定 Message Queue 客户端运行时环境轮询 Web 服务器的频率。
如果 pullPeriod 值为 -1(默认值),客户端运行时环境将在前一个请求返回后立即轮询服务器,从而最大限度地提高各个客户端的性能。结果,每个客户端连接都会在 Web 服务器中独占一个请求线程,这样可能会耗费 Web 服务器资源。
如果 pullPeriod 值为正数,客户端运行时环境将定期向 Web 服务器发送请求,以查看是否有挂起的数据。在这种情况下,客户端不会独占 Web 服务器中的请求线程。因此,如果有大量客户端在使用 Web 服务器,您可以通过将 pullPeriod 设为正值来节省 Web 服务器资源。