如何使用 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 Wiki5. 您可以在此处找到有关 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 对网站进行负载测试的主要内容,如果未能解决你的问题,请参考以下文章