我是Jmeter的新手 . 我的项目经理告诉我用100个并发用户测试网站负载 .
以下网站功能考虑加载测试 -
-
用户注册
-
获取注册页面请求
-
发布注册页面请求
-
登录和用户 Profiles 导航
-
获取登录页面请求
-
发布登录页面请求
-
获取用户仪表板请求
-
获取编辑 Profiles 页面请求
-
获取更改密码请求
-
获取邀请朋友页面请求
我的测试场景是50个并发用户访问 Registration 页面和其他50个并发用户访问 User profile (登录,仪表板等) . 我为此创建了以下测试计划 -
并且注册和登录的线程配置相同 -
线程总数:50
加速期:600秒
持有负载持续时间:3600秒
两个线程组请求的已配置常量计时器(每个请求的延迟为200毫秒)也添加了一些用于收集结果的侦听器 . 我有以下问题 -
-
在我的网站完整负载测试的测试计划中包含这么多请求是否正确?
-
我是否配置了正确的线程属性或我还能做些什么才能达到最佳效果?
1 回答
您的测试计划看起来不错,但是当前配置并不代表100个并发用户,因为200毫秒认为时间适用于"superhuman" . 真实用户"think"在操作之间的较长时间内,它应根据模拟请求的性质而变化 . 因此,我建议将个别Uniform Random Timers与每个请求的相关思考时间范围一起使用 .
如果你有一些额外的时间,你可以考虑为你的模拟带来更多的现实:
X用户执行注册
Y用户编辑他们的 Profiles
Z用户邀请朋友
等
因此,分发将代表您的应用程序的正常预期用法 . 您的负载测试应该尽可能真实,只有这样您才能确定"my application is able to support this many users providing reasonable response time" . 看看Throughput Controller
整体表现
在测试运行期间禁用
Active Threads Over Time
,尤其是View Results in Table
侦听器配置PerfMon Metrics Collector侦听器将捕获的值存储到文件中 . 稍后您将能够打开文件并分析指标
Run the test in non-GUI mode
请遵循9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure的其他建议