使用WebSphere Application Server执行性能测试和分析2


5.    右键单击您刚创建的 HTTP 请求并选择
Add > Timer
。计时器添加请求之间的思考时间。这模拟一个用户单击一个页面,然后暂停阅读页面上的一些信息,最后发出另一个请求。您可选择许多预定义的计时器,具有从常量固定计时器到高斯或泊松分布式计时器的不同复杂度。JMeter 用户手册
记录每个可用的计时器。对于这个简单示例,仅使用 5 ms
Constant Timer

6.    右键单击该线程组并转到
Add > Listener > Summary Report
。这将显示测试运行时的响应时间和吞吐量结果。

7.    将设置保存到一个文件,以便您可在以后再次加载它们。

 

 

运行测试

在启动负载驱动工具之前,始终要确保应用程序兼容一个浏览器。准备好后,单击绿色箭头或单击
Run > Start
JMeter 现在应将一个客户端连接到您指定的服务器路径,在每个请求之间等待 5 ms。如果您单击
Summary Report
,可以看到测试运行的结果。

您应会注意到,吞吐量在不断增长;这称为升温阶段。JRE 需要一些升温时间来加载所有类,让 JIT 执行一些优化。吞吐量最终将稳定,达到一个固定的数量(每秒发出或接受一些请求)。依赖于测试的复杂性,这个升温阶段可能持续 30 秒,也可能持续 30 分钟。

在测试运行时,打开一个终端(Linux AIX)并运行
vmstat 5
来每隔 5 秒显示一次系统指标(参见清单 1)。

 

清单 1

                

[root@spice3 bin]# vmstat 5

procs ———–memory———- —swap– —–io—- –system– —–cpu—–

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 0 8235164 104920 500956 0 0 13 11 44 154 8 5 86 0 0

0 0 0 8235164 104928 500956 0 0 0 3 8030 4987 6 1 93 0 0

1 0 0 8235040 104936 500956 0 0 0 3 7982 4944 5 1 94 0 0

0 0 0 8233116 104936 500960 0 0 0 6 8126 5020 7 1 92 0 0

0 0 0 8231068 104944 500960 0 0 0 6 7952 4939 6 1 93 0 0

0 0 0 8231316 104952 500960 0 0 0 3 7761 4819 5 1 94 0 0

Example vmstat output showing ~7% CPU utilization.

 

如果使用 Windows,右键单击任务栏并选择任务管理器,然后选择性能选项卡。当 JMeter 中的吞吐量达到一个稳定值后,记录运行 WebSphere Application Server 的服务器和任何其他适用服务器上的 CPU 利用率,然后单击红色停止标志或
Run > Stop
停止 Jmeter 测试。JMeter Summary Results 视图类似于图 5

 

5. JMeter Summary Report 视图


在一个电子表格中,记录吞吐量结果(93.9 个请求/秒)和平均响应时间结果 (4 ms)。如果您希望更详细的信息,那么 MinMax Std. Dev. 响应时间也很有用。

记录所有结果后,选择
Run > Clear
来清除 Summary Report 结果。这会介绍对单个用户的测试。现在将用户数量依次增加到 248 等,并重复上述步骤。每次添加更多用户时您都应观察到吞吐量增长。最终,您会观察到吞吐量停止增长,甚至可能开始下降。达到平稳状态(以及可能下降)时,测试即可停止。

 

 

分析结果

完成上述步骤后,您应得到一个类似图 6 的电子表格。(这些具体的结果高度依赖于 DayTrader 应用程序和运行此测试的环境。您的实际结果可能有很大不同。)

 

6. Test Results – Table 视图


拥有这样的表列格式的原始数据很有用,但以图形格式查看结果也很有用。可视化结果的一种最佳方式是使用 XY 散点图。绘制一个图表来描绘结果,会使趋势的识别容易得多。图 7 描绘了吞吐量和 WebSphere Application Server CPU % 与客户端数量的关系。

 

7. Test Results – Graph


上面的图 7 显示了一些有趣的特征。首先,可以看到吞吐量曲线和 CPU % 曲线非常接近。第二,可以看到应用程序吞吐量从 1 个客户端近线性地扩展到 500 个客户端。这是想要的结果。但是,在 500 个客户端到 1,000 个客户端之间的某个点,吞吐量的增速开始放缓。(这时可使用 500 1,000 之间的用户负载来执行更多测试,以查找发生此增速放缓现象的准确位置。)将客户端负载增加到 1,000 个客户端以上不会改进总体应用程序吞吐量。这就是所谓的饱和点。这是一个重要的值,必须在性能测试中找到。饱和点告诉您,您已达到此应用程序、调节、配置和环境的最大容量。添加超过此点的更多用户只会增加客户端响应时间,不会增加总体应用程序吞吐量。要获得超过此点的更高性能,必须执行应用程序代码更改、调节更改或环境更改。

DayTrader 与您的应用程序对比

DayTrader 不能代表所有应用程序。您的应用程序可能更早达到饱和点。如果情况确实如此,这可能表示一个应用程序瓶颈,需要执行应用程序分析来修复它。

这种类型的测试和分析是大小调整和容量规划讨论中主要主题。只有通过识别饱和点,您才能准确估算支持一个生产环境所需的总容量。常常有人会说,我需要在此环境中支持 10,000 个用户,然后对该客户端负载运行测试。通常,此方法会在一个或多个组件中引起各种各样的超负荷情形,这些情形可能在 WebSphere Application Server 中,也可能在其他基础设施组件(网络、数据库等)中。一种更高效的方法是确定使用单个应用服务器可获得何种客户端负载和吞吐量,然后基于此信息继续执行运行时和应用程序调节。调节完成后,可将注意力转向确定满足可伸缩性需求需要多少应用服务器流程和流程服务器。

将一个新测试保存在 JMeter 中,使用您找到的线程(用户)数作为饱和点。这可用作一项快速测试,以对比您对应用程序或环境执行更改时的性能,而无需再次执行完整的可伸缩性测试。这不是说您不应再执行可伸缩性测试,但对于在 CPU 未充分利用的更低负载上不会显示出任何不同的更改,运行饱和点上的负载是对比这些更改的一个不错地方。一种不错的做法是对次要应用程序或调节更改运行饱和点负载,对主要应用程序或环境更改重复完整的可伸缩性测试。

 

 

性能工具

以上各节是执行任何真实分析工作的准备条件。您必须首先理解如何生成可重复的性能结果,才能查找瓶颈和性能改进。现在您已准备好查找改进了,应使用以下两个性能工具来开始分析:

•    IBM Tivoli® Performance Viewer Tivoli Performance Viewer(在管理控制台中)是一个监视 WebSphere Application Server 的非常有用的工具。这篇文章
重点介绍了使用 Tivoli Performance Viewer 最优地调节环境的好处。采用相同的方式,Tivoli Performance Viewer 可用于快速检查是否有任何可通过调节轻松删除的瓶颈。以下是一些开始使用 Tivoli Performance Viewer 的简单步骤:

1.    使用比确定为饱和点的用户数量重新启动 JMeter 负载。

2.    登录到管理控制台并选择
Monitoring and Tuning > Performance Viewer > Current Activity
。单击您希望监视的服务器,然后展开
Performance Modules
。这将显示一组可供查看的性能模块。

3.    您的应用程序特征将确定其中哪些模块最有必要查看。对于 DayTrader 示例或任何其他基于 Web 的流量,启动
Thread Pools > WebContainer
模块。勾选该复选框,单击顶部的
View Module
按钮。这将显示一个类似于图 8 的图表,在 JMeter 测试继续运行时,每隔 30 秒自动填充更多数据。 

 8. WebContainer PMI 数据 

此示例显示,WebContainer 线程池大小为 50 个线程,其中大约 32 个正在使用。这告诉您,WebContainer 线程池大小不是当前工作负载下的瓶颈。如果活动数量在 45-50 之间波动,那么 WebContainer 线程池大小可能是一个瓶颈。在该情况下,可能最好增加 WebContainer 线程池大小,重复该测试以查看性能是否改进。如果吞吐量确实增加了,您可能希望再次运行湾镇的可伸缩性测试,以重新建立基准。

4.    对其他适用于您的应用程序的模块继续重复第 3 步。对于 DayTrader 这样的事务应用程序,应查看的另一个模块是 JDBC Connection Pool 信息。展开
JDBC Connection Pools >
您的 JDBC 驱动程序),选择您的数据源 JNDI 名称。单击
View Module
按钮以显示一个类似图 9 的图表。 

 9. DataSource PMI 数据

以下文章点击率最高

Loading…


发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注