1.负载测试:在一定软硬件环境下,不断加大负载确定满足性能指标的能够承受得最大用户数;
2.性能指标:
TPS:每秒事务数
RT:事务平均响应时间
CPU Using:CPU利用率
Mem Using:内存使用情况
PV:每秒用户访问页面的次数
3.压力/强度测试:在一定软硬件环境下,在高负载的极限状态下长时间运行的稳定性(通过查看性能指标确认)
4.稳定性测试:在一定的软硬件环境下,在一定负载状态下满足性能指标长时间运行系统查看稳定性
5.工具介绍
一、jmeter
(一)组件介绍
组件之间关系:取样器、断言、监听器组合可以一起完成发送请求、验证结果以及记录结果三项工作;前置处理器、配置原件、后置处理器均为取样器提供数据支持,取样器关注业务逻辑;
1)取样器:模拟用户操作,向服务器发送http、webservice、java请求
取样器访问路径:【测试计划】-【线程组】-【Sampler】
2)断言:验证实际结果与预计结果是否符合
断言访问路径:【测试计划】-【断言】
3)监听器:收集测试结果
任务:添加结果监听,保存测试结果到文件;以表格或者图形的形式展示结果;
监听器的访问路径:【测试计划】-【监听器】
4)前置处理器:用于环境和参数的准备工作
前置处理器访问路径:【测试计划】-【前置处理器】
5)配置元件:用于模拟大量用户实现参数化;可以从文件中读取测试数据;提供众多函数帮助生成动态数据;
访问路径:【测试计划】-【配置元件】
6)后置处理器:一般放置于取样器后,对响应数据做处理(关联)
访问路径:【测试计划】-【后置处理器】
7)控制器:控制某种功能的次数
访问路径:【测试计划】-【线程组】-【逻辑控制器】
ForEach Controoller(循环控制器):
8)定时器:其中一个功能模拟用户在某个时刻同时发送请求
访问路径:【测试计划】-【线程组】-【定时器】
9)线程组:可模拟大量用户负载情况
访问路径:【测试计划】-【Threads(User)】
10)Test Fragment:在脚本开发过程中备份元件;模块化请求;
11)工作台:录制http协议脚本使用;设置服务器监听(不建议,避免对负载产生影响);显示当前jmeter属性;备份脚本
(二)相关概念介绍
1)关联:获取操作中动态的数据,通过后置处理器完成关联
2)断言
3)集合点
(三)linux系统负载分析以及命令
1)uptime
总结:uptime系统存活时间越长,系统越稳定;
注意点:①每个CPU内核当前活动进程数<=0.8 ---系统空闲
②1<系统进程数<=3 ---系统其他资源正常
③系统进程数>5 ---性能存在问题
④uptime输出结果超过15,证明系统负载严重
2)w
显示当前登录用户数
3)top
相当于任务管理器工具,对所有正在运行的进程和系统载荷提供不断更新的概览信息,包括系统负载、CPU利用分布情况、内存使用、每个进程的内存使用情况有等信息。也提供负载平均值快照。
①CPU(s):当前CPU的平均值
②wa:使用率过高时,考虑IO性能是否存在瓶颈,可以使用iostat、sar做进一步分析;
③hi:使用率 过高,说明硬件中断占很大百分比,可分析文件/proc/interrupts、/proc/irq/pid/smp_affinity、服务irqbalance是否配置、CPU频率设置
④si:软件中断一般与网络相关
网络出现阻塞,查看软件中断程序ksoftirqd是否出现瓶颈,可通过ps命令查看 “ps aux | grep ksoftirqd”
⑤Ni:linux使用round_robin算法做CPU排程,可以通过nice命令更改优先序执行程序;如果未指定程序,则会打印出目前的排程优先序,内定adjustment为10,范围为-20(最高优先序)到19(最低优先序)。
①buffer和cache作用缩短I/O系统调用时间,比如读写。对一个系统而言,如果cache值越大,说明cache住的文件数多。如果频繁访问文件都能命中,说明比读取磁盘调用快,磁盘IO会减小。
②top修改一些配置
在top界面输入字母W保存
③top参数的含义
网友评论