性能测试:
(1)对于初次上线的系统,我们需要同行的系统数据,对于已经上线的系统,可以通过运维人员获取TPS和时间的比例分布图,用户数和时间的分布图,精准得到数据关系,进而得到性能需求。
负载:模拟业务操作对服务器造成压力的过程,主要观察吞吐量,容错率,执行时间这些。
网页的响应时间一般根据:1s优秀,3s普通,5s忍受极限。
Web测试功能标准
判断维度 | 通过标准 |
---|---|
超时概率 | 小于0.5‰ |
错误概率 | 小于0.5‰ |
CPU利用率 | 小于75% |
Load(负载) | 平均每核CPU的Load小于1 |
JVM内存使用率 | 小于80% |
Full GC频率(java的内存回收机制) | 平均大于半小时一次 |
JMeter断言:响应断言,XML断言,BeanShell断言;BeanShell是类java的脚本语言。
JMeter中的一个脚本即一个测试计划,也是一个管理单元,JMeter的请求模拟与并发数设置都在脚本中一起设置。
脚本中的测试计划只能有一个,测试计划中至少要有一个线程组(类似与LoadRunner中的Group方式的场景),至少需要一个取样器,一个监听器
JMeter与LoadRunner的不同之处 :
- LoadRunner是性能测试的王者,标准的制定者,JMeter是后起之秀。
- LoadRunner由C语言进行开发,支持多种java脚本语言。
- LoadRunner贵,JMeter免费。
- LoadRunner几乎支持市面上所有应用的性能测试。B/S和C/S,移动终端都可以进行测试。
Badboy录制的脚本可以直接导出jmx格式,jmx也正是JMeter脚本的保存格式,jmx实际上是一个XML文件
badboy录制的方式有两种:一种是request方式,一种是Navigation方式。
request:模仿浏览器发送表单信息到服务器,每个资源都将作为请求进行发送。
Navigation:记录用户鼠标动作
ramp-up的设置(一般来说):
100以内的并发用户数,ramp-up时间设置为1-2s
100-500左右,rramp-up时间设置为2-3s
500以上,ramp-up时间设置为5-10s
大概能虚拟出2000以内的并发用户数,因此当并发用户数超过2000时,就要考虑用分布式了