压力测试
考察当前系统能最大负荷,找到系统瓶颈所在,压测是为了系统在线上处理能力和稳定性的一标准,使用压力测试,能够找到很多测试方法更难发现的错误,有两种类型:内存泄漏,并发和同步
1、性能指标
-
响应时间(RT)
-
HPS (Hit Per Second) 每秒点击数 次/秒
-
TPS(Transation per Second) 系统每秒处理的交易数 ,单位笔/秒
-
QPS(Query per Second) 系统每秒处理查询次数 单位:次/秒
-
无论TPS,QPS,HPS,都是衡量系统处理能力的重要标准,越大越好,根据经验,一般情况下:
金融行业主:1000TPS~50000TPS,不包含互联网化的活动
保险行业:100TPS~100000TPS,不包含互联网化的活动
制造行业:10TPS~5000TPS
互联网电子商务:10000TPS~100000TPS
互联网中型网站:1000TPS~50000TPS
互联网小型网站:500TPS~10000TPS -
最大响应时间(Max Response Time) 指用户发出请求或者指令到系统做出反应(响应)的最大时间
-
最小响应时间(Mininum Response Time) 指用户发出请求或者指令到系统做出反应(响应)的最少时间
-
90%响应时(90% Response Time) 指所有用户的响应时间排序,第90%的响应时间
-
外部看,性能指标的三个指标:
吞吐量: 每秒钟系统能够处理的请求数、任务数
响应时间:服务处理的一个请求或者一个任务的耗时
错误率:一批请求中结果出错的所占比例2、JMeter工具
2.1 JMeter安装
2.1.1 下载安装包,运行jmeter.bat文件
2.1.2 选择中文 options–>choose language–>chinese
2.1.3 添加测试计划,右击添加线程用户组
添加线程数,启动的时间 是否一直压力测试
添加取样器Http请求
添加网络请求参数
线程组右击添加查看结果树
添加汇总报告
监听器再添加聚合报告
聚合报告添加汇总图
保存测试用例
启动测试
查看接过数,可以看到参数等信息
汇总报告
聚合报告
点击需要查看的数据并查看汇总图
调用新请求前请清除所有记录
JMeter Address Already in use错误解决
windows 本身提供端口访问机制的问题
windows 提供的TCP/IP端口连接为1024-5000,并且要4分钟循环回收他们,就导致短时间内跑大量请求时端口被占满
解决方案
- 1.cmd中,用regedit命令行打开注册表
- 2.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下:1.右击parameters,添加一个新的DWORD,名为:MaxUserPort 2.双击MaxUserPort,输入值为65535,基数选择十进制,(如果分布式运行的话,控制机器和负载的机器都需要这样操作)
- 3.修改配置文件后需要重启才能生效 也可以设置TCPTimedWaitDelay:30
参考文档-microsoft链接