如何使用 JMeter 对网站进行负载测试

Posted

技术标签:

【中文标题】如何使用 JMeter 对网站进行负载测试【英文标题】:How to perform load testing for website using JMeter 【发布时间】:2012-03-08 07:03:06 【问题描述】:

我想在 JMeter 中创建一个脚本来模拟例如100 位用户在 3-4 分钟内访问了我们的网站。

我们需要测试我们的应用程序是否可以允许每天 25.000 个用户 - 即每小时 1.100 个。

为此我做了这个 Jmeter 测试:

这是结果

这是图表

我想知道这个结果到底告诉我们什么,如果我的测试通过或失败,yahoo.com(我们为此示例运行了这个测试)是否可以允许 25.000 个用户/天,如果我正在输入我的标准/要求正确吗?

谢谢

【问题讨论】:

您是否意识到访问网站涉及大量 HTTP 请求,而您只是在测试最初的请求?您将需要记录一个 HTTP 请求序列(使用 JMeter - 谷歌如何)并对其进行测试 Got the answer? 【参考方案1】:

1. 我建议改用来自jmeter-plugins 的一些自定义采样器:

Ultimate Thread Group:更灵活的线程组实现允许您完全按照您的意愿设置负载测试场景; Response Times Over Time / Response Times vs Threads / Active Threads Over Time listeners:作为 JMeter 的默认图表,更具示范性。

2. 除了上面的@Qwe 评论:测试不是单个 HTTP 请求而是用户的事务:每个测试线程应该模拟一种真实用户的浏览活动:登录(如果有)、浏览网站、搜索、访问/编辑个人设置、注销等。 为了模拟真实用户,还要在交易步骤之间添加“思考时间”计时器。

3. 控制响应,至少如下:

每个用户请求的响应代码(@Response Assertion); 持续时间 - 验证 non-functional requirements 的关键交易 (@Duration Assertion)。

4. 查看相应的 JMeter 文档:

My boss wants me to load test our web app! JMeter Wiki

5. 您可以在此处找到有关 Jmeter 设置和负载测试使用的一些分步指南:

Load Testing your Applications with Apache JMeter Using JMeter Effective load testing with Apache JMeter 使用 JMeter 进行负载测试:part 1、part 2、part 3 A Simple Load Test with JMeter Load Testing with Apache JMeter Performance testing with JMeter Your First JMeter Test 关于使用 JMeter 对 Web 应用程序进行压力测试的一些想法:part 1、part 2。

UPD。 请在 github 上找到、使用并随意扩展此 Awesome JMeter 集合。

【讨论】:

Load Testing your Applications with Apache JMeter via archive.org 很好的答案,谢谢,这对我也很有用。 @AliaksandrBelik,你做 loadrunner 多久了? @Pacerier,如果您的意思是 HP LoadRunner 工具,那么我不是它的忠实粉丝。如果您的意思不同 - 请澄清您的问题。 @AliaksandrBelik,操作编辑没有通过。我的意思是:您使用 JMeter / Loadrunner / Selenium (/etc) 有多久了?

以上是关于如何使用 JMeter 对网站进行负载测试的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jmeter 对多个套接字连接进行负载测试?

性能测试——JMeter脚本录制和HTTP负载测试

使用 jmeter 对 300 个同时用户进行负载测试

使用jmeter进行压力测试及如何添加负载机

如何使用JMeter进行性能和负载测试

JMeter进行Apache Kafka负载测试