使用 PerfServlet 检索性能数据
PerfServlet 用于对任何工具 (由 IBM® 或第三方供应商提供) 可处理的性能数据进行简单的端到端检索。
准备工作
该 servlet 提供了一种使用 HTTP 请求查询整个 WebSphere® Application Server 管理域性能指标的方法。 因为 servlet 通过 HTTP 提供性能数据,所以是否解决如防火墙这样的问题并不重要。
PerfServlet 以 XML 文档格式提供性能数据输出,如所提供的文档类型描述 (DTD) 中所述。 在 XML 结构中,该结构的叶提供了性能数据的实际观察值以及提供上下文的叶的路径。
最佳实践: PerfServlet 是一个样本监视工具,它使用 WebSphere Application Server 管理和监视接口来公开性能数据。 PerfServlet 并非旨在用于在生产环境中进行实时性能监视,也并非旨在用于大型拓扑中。 对于这些环境,您应使用 WebSphere Application Server 的 Tivoli Performance Viewer。
PerfServlet 的具体最佳实践如下所示:
- PerfServlet 开销:PerfServlet 并非设计用于并发运行。 作为一个单线程 servlet,它将从可用的服务器连续收集数据。 在较大的部署中使用 PerfServlet 时,此单线程操作可能会导致较长的响应时间。
- 大型部署中的 PerfServlet:
- 缺省情况下,首次对 PerfServlet 进行初始化时,该工具将检索部署它的单元中节点和服务器的列表。 因为收集此数据会花费系统处理时间,所以 PerfServlet 会将此信息保存为高速缓存列表。 要强制该 servlet 刷新其配置,可以使用选项“refreshconfig=true”。 但是,除非必需,否则建议不要使用此选项,因为此选项会对 PerfServlet 处理添加额外的开销。
- 如果要查找特定服务器的性能数据,请使用选项、节点和服务器。
- PerfServlet 响应时间:PerfServlet 的响应性取决于以下因素:
- 单元中存在的应用程序服务器数。
- 单元中配置的资源(包括应用程序)数。
- PerfServlet 替代方法: 如果您正在寻找使用 PerfServlet 以编程方式捕获数据的替代方法,请参阅 Perf MBean 编程接口文档,该文档存在于 WebSphere Application Server 文档的 参考> 编程接口> MBean 接口 部分中。
从 V 6.0开始, WebSphere Application Server 中的 PerfServlet 使用 JMX Perf MBean 接口来检索 PMI 数据,并输出使用 Java™ Platform, Enterprise Edition (Java EE) 1.4 Performance Data Framework 来描述统计信息的 XML 文档。 V6.0 中的 PerfSerlvet 还可以提供与 PerfServlet 5.0 兼容的输出。 为了提供 PerfServlet 5.0 兼容的输出,V6.0 中的 PerfSerlvet 使用 PMI 客户机接口。
性能 servlet.ear 文件 PerfServletApp.ear 位于 WAS_HOME/installableApps 目录中,其中 WAS_HOME 是 WebSphere Application Server 的安装路径。
从 V6.1 开始,必须启用应用程序安全性才能让 PerfServlet 生效。