WebSphere? Application Server Performance Tuning Toolkit 是一款基于 Eclipse 的智能工具,旨在帮助用户通过使用数据收集、数据分析和统计数据推断技术来调优 WebSphere Application Server 的性能。其目的是帮助用户查找瓶颈,并适当调优应用程序。
背景知识
随着基于 Java EE 的企业级多层架构应用程序的大范围部署,出现得越来越多的性能问题,而且难以诊断。多层架构使得性能问题难以定位,而且要花费更多的时间和精力来调查和定位性能瓶颈。而且性能问题所造成的后果可能会很严重。
为了能让 WebSphere Application Server 应用程序能力发挥到最大,监控和调优性能就显得尤为重要。WebSphere Application Server Performance Tuning Toolkit 能帮助您完成这一项任务。
概述
WebSphere Application Server Performance Tuning Toolkit (PTT) 是一款基于 Eclipse 的智能工具,旨在帮助用户通过使用数据分析和统计数据推断技术来监控和查找性能瓶颈。该工具通过 JMX,从 WebSphere Application Server 的 PMI (Performance Monitoring Interface,性能监控界面)收集性能数据,然后向用户显示一张通俗易懂的图片,其中有一些图表和表格以定位瓶颈并对其进行适当的调优。
与其他工具相比,该工具的主要特点是提供了一个动态框架,能让用户定义适合其系统的规则,从而大大增加了性能问题检测和诊断的准确性。图 1 总结了该工具的主要功能。
图 1:Performance Tuning Toolkit 主要功能的总结
已经定义了一些常见规则来检测性能下降,并会自动采取行动。例如,以下情况会产生警报:
- 如果 heapsize 达到最大的堆值。
- 如果线程池达到阈值。
- 如果 CPU 利用率达到 90%。
- 如果出现 servlet 错误。
- 如果出现连接超时错误。
- 如果有线程等待连接。
- 如果有超过 1000 条准备好的语句被忽略。
- 如果应用程序试图使用无效会话。
- 如果没有空间供新会话使用。
- 如果已声明了挂起线程。
- 如果有事务回滚。
- 如果有事务超时。
您也可以根据系统指示定义自己的规则。例如,您可以为每个 serverlet 设置一个合适的响应时间阈值,如下所示。
rule "ServletEvent" when ServlentEvent(responseTime>1500, name=="Trade"); then String description = "response time extends the limits"; processData.addAlert("servlet", description);} end
优点和特性
The Performance Tuning Toolkit offers a number of benefits:
Performance Tuning Toolkit 具有很多优点:
- WebSphere Application Server 的轻量级软件,无需安装或集成任何东西到服务器端。
- 实时监控和交互式分析。
- 基于规则的事件处理,允许用户添加自己的诊断逻辑。
- 高扩展性。
- 易于使用的接口。
它还有一些主要功能:
- 从 PMI 收集数据并把数据合并到数据立方体中。
- 基于规则的事件处理。
- 通过图形视图分析数据,并向下钻取到明细数据。参见图 2 和图 3。
图 2:图形视图分析
图 3:向下钻取到明细数据
- 生成工件(线程转储和堆转储)或启用追踪。
安装和使用
安装
要安装 Peformance Tuning Toolkit,需要下载压缩文件并解压缩该文件。然后单击 PerfTuningToolkit.exe 文件开始安装。
使用 Performance Tuning Toolkit
首先,添加一个或多个主机,然后配置连接。设置好连接后,工具会自动获取拓扑和服务器信息,然后存储在工具中。您可以随时添加、编辑或删除主机。
添加一个主机
单击 Add a new host 按钮创建一个新主机,参见图 4。
图 4:添加一个主机
输入主机信息,如果安全已启用,则选中 Security enabled 框。然后单击 OK。左侧的 Hosts 面板中会显示该主机。参见图
5。
图 5:设置主机信息
连接到主机
在左侧面板中,双击主机名,连接到该主机。然后会询问您是否用显示的字符串自定义 PIM 设置。单击 Yes 连接到服务器,并对其进行监控。
获取关于主机的信息
单击拓扑面板中的服务器名,Monitor 窗口会显示在 Hosts 面板右侧,如图 6 所示。
图 6:监控主机
Monitor 窗口会显示统计信息和趋势图。可以很方便地从多个角度分析趋势,并找到服务器中的潜在问题。页面底部有很多选项卡,能让您获得多种信息。可根据需要展开或折叠每个选项卡上的项。
监控时间
Monitor 窗口中有几张图片可用来显示关于各种时间的信息:Servlet Response Time、Transaction Response Time、Jdbc Response Time、Servlet Throughput、Transaction Throughput、Jdbc Throughput、Concurrency、Http Session、CPU usage、Java Heap 和 Alert。参见图 7。
图 7:监控时间
合并时间间隔
合并时间间隔选项是用来控制监控曲线的时间间隔。有三个选项:AutoAjustInterval、CombineInterval 和 DisintegrationInterval。当单击其中一个时,曲线时间间隔会立刻改变并且曲线会重画。参见图
8。
图 8:合并时间间隔
Performance Tuning Toolkit 还提供了一些调试帮助功能,如生成线程转储、生成堆转储和启用追踪。
生成转储
要生成转储,在 Hosts 面板上选择服务器,再从 Operation 菜单中选择 Generatse
Thread Dump 或 Generate Heap Dump ,如图 9 所示。
图 9:生成转储
启用追踪
要启用追踪,在 Hosts 面板上选择服务器,从 Operation 菜单中选择 Enable
Trace ,如图 10 所示。
图 10:启用追踪
在 Trace Detail 窗口中,可以选择已有的追踪类型或在追踪对话框中手动输入追踪信息,如图 11 所示。
图 11:输入追踪信息
编辑规则文件
检测性能下降和定位瓶颈的自定义规则都保存在规则文件中。要检查或编辑规则文件,在 Analysis 菜单中选择 Edit
Rules。图 12 显示了规则文件。
图 12:编辑规则文件
此语法非常灵活,易于使用。随着时间推移,会有越来越多的规则添加到工具中。
下载
描述 | 名字 | 大小 |
---|---|---|
Performance Tuning Toolkit for Windows | PerformanceTuningToolkit2_win32.zip | 260 MB |
Performance Tuning Toolkit for Linux | PerformanceTuningToolkit2_linux32.zip | 215 MB |