标签:操作系统 指标 参数详解 timer 程序 通信 目录 mamicode load
模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否达标。
如模拟系统半小时内2000个用户进行登录操作。
性能指标:如要求登录请求的响应时间在3秒钟以内。
1、项目立项初期帮助技术选型
2、测试当前程序所能支持的最大负载
3、发现系统中的性能瓶颈,提高资源利用率
4、提升用户体验
.......
使用jmeter的定时器实现时间的性能测试
例:同一时刻,100个用户访问登录接口,统计高并发情况下平均响应时间以及错误率
1、新建测试计划、测试组、取样器、结果树,指定线程组的线程数为100,模拟100个用户:
2、添加定时器的synchronizing timer(同步定时器),实现同时访问:
3、运行测试计划,即可实现100个用户并发访问登录接口
4、通过聚合报告组件,可以对结果进行汇总分析
5、再次点击运行测试计划,在聚合报告中查看结果
当线程组中设置的线程数(用户数)不能整除同步定时器中设置的“模拟用户组的数量”,且超时时间为0时,会导致程序挂起,即运行测试计划后无法结束运行。
如线程组设置的线程数为100,同步定时器的“模拟用户组的数量”设置为30,超时时间为0,此时运行测试计划后,程序就会挂起,将会还剩10个线程无法运行:
如何避免程序挂起
方式一:修改“模拟用户组的数量”,使得线程组用户数能够被整除;
方式二:设置定时器的超时时间,如设置超时时间为5000毫秒,即使线程组的线程数不能被整除,一旦过了超时时间,程序就会执行完剩余的线程。
例:一个用户以20QPS(20次/秒)的频率访问服务器的登录接口,持续15秒,统计服务器的平均响应时间
1、新建测试计划、线程组、取样器、聚合报告,设置相关测试参数
循环次数 = 访问频率 * 持续时间
2、添加常量吞吐定时器
3、运行测试计划,查看汇总结果
多台机器协作,以集群的方式完成性能测试,提高测试效率。
如峰值时期有30000个用户访问系统,一台测试机最多支持5000个用户,可以使用6台测试机窜起来实现30000个用户访问
基本架构:
1、在不同测试机上安装jmeter
2、配置基础环境(统一操作系统、JDK、jmeter)
3、配置控制机与执行机之间的通信(端口):
%JMETER_HOME/bin/jmeter.properties --> server_port=xxx
%JMETER_HOME/bin/jmeter.properties --> remote_hosts=执行机A的IP:端口,执行机B的IP:端口
例:模拟100个用户操作(默认已经搭建好分布式测试环境)
1、启动集群机器上的控制机、执行机的jmeter
2、在控制机的jmeter中,新增测试计划、测试组、取样器、聚合报告(具体步骤同上)
3、设置线程组的线程数,并运行测试计划:
标签:操作系统 指标 参数详解 timer 程序 通信 目录 mamicode load
原文地址:https://www.cnblogs.com/yanlin-10/p/14500702.html