JMeter 负载测试

使用阿帕奇 JMeter 进行负载测试

使用 JMeter 进行负载测试

如果您的组织在历史上没有在您的网站、Web 应用程序或 ABI 上执行负载测试,您可能不仅面临性能问题和用户体验不佳的风险,还可能会遇到在预算中获取负载测试解决方案空间的问题。 使用开源解决方案(如 Apache JMeter、金牛座、Gatling 等)对管理层有利,因为开源解决方案通常可以免费使用,而且没有前期投资,但这并不意味着不涉及任何成本。 与 LoadView 等商用解决方案相比,开源工具具有一些缺点,功能更少。

对于本文,我们将对 JMeter 以及使用此负载测试工具附带的一些考虑进行高级研究。 请记住,JMeter 只能运行基于协议的测试,并且不会渲染任何 JavaScript、HTML 或 CSS,这可能不足以理解用户级别的性能。

带负载视图的 JMeter 负载测试

使用负载视图克服您的 JMeter 负载测试限制

请记住,负载测试与压力测试不同。 您不会尝试破坏您的网站、Web 应用程序或 API。 您正试图了解目标和基础系统在大量并发用户或流量下应用时的行为。 例如,在大产品发布当天减速的网站可能会对业务(和客户忠诚度)造成无法弥补的损害,因此负载测试可以像 JMeter 允许的那样彻底。

 

杰米特: 开始

Apache JMeter 将在支持 Java 6 或以后的任何操作系统上运行。 您还需要安装甲骨文爪哇或开放JDK。 JMeter 具有相当直观的 GUI 界面。

 

创建测试计划

您将在 JMeter 窗口的左侧看到测试计划图标。 右键单击它并选择”添加 > 线程(用户)” > 线程组。 这将启动线程组控制面板,您可以在其中指定负载测试的用户数(线程数)、要花费的时间量(增加至全部用户数)以及每个用户应执行测试脚本(循环计数)的时间。

确保用户数反映您期望在忙碌的一天(如黑色星期五)的流量。

创建”线程组”后,应将其显示在测试计划下方的树中。 现在您需要添加 HTTP 请求默认值。 右键单击”线程组”图标并选择” > 添加配置元素 > HTTP 请求默认值”。 在控制面板中输入网站的 URL。

 

录制测试脚本

您需要记录模拟实际用户行为的测试脚本,例如将物品放入购物车并退房。 打开网络浏览器(如 Firefox 或 Chrome)并更改浏览器的网络首选项以使用 JMeter 的代理。 选择手动代理配置,输入地址的”本地主机”和端口的”8888″。

现在,您可以开始录制测试脚本了。 在浏览器的地址栏中键入网站的 URL 并点击”输入”。 从您的网站的主页,点击几个链接,并像实际用户一样导航。 关闭浏览器并返回到 JMeter。 展开线程组树,并验证线程组下现在是否有多个采样器。 这些是录制脚本时导航到的不同页面。

通过右键单击线程组并选择”验证”来保存测试计划并验证脚本。 单击”线程组”下的”查看结果”图标以查看验证是否成功。

 

运行负载测试

单击 JMeter 工具栏上的”运行”图标以启动负载测试。 JMeter 将在实时更新的图形中显示测试结果。

 

分析负载测试结果

JMeter 以绿色显示图表上的吞吐量。 吞吐量越高,服务器处理重负载的能力越好。

请注意,JMeter 会从您的计算机向您的网站发送虚拟用户。 或者换句话说,电话是从房子里来的。 这意味着您的负载测试不反映真实世界的流量。 适当的负载测试解决方案应提供从外部位置进行测试的方法,特别是用户所在的区域和区域。 这将从用户的角度向您展示性能,并提供更逼真的负载测试结果。

如果 JMeter 提供的 功能和功能不足以满足您的需求,您可能需要尝试基于云的负载测试解决方案,如 LoadView,该解决方案可以从世界各地的地理位置将大量并发用户发送到您的网站。

负载视图平台支持 JMeter 负载测试。 将 JMX 文件上传到 LoadView 平台,配置负载测试设置,并从多个地理位置执行负载测试。 LoadView 提供企业级功能和包,可满足组织的需求。

查看 LoadView 与市场上其他负载测试工具的比较情况。