作为刚刚走入测试领域的我来说,对性能测试了解的也不是很深,只不过自己平常一直在收集资料,性能测试也没有那么神秘,也请广大测试小白不要陷入误区,其实性能测试跟功能测试关系并不大,即使你做10年功能测试,也转不了性能;除非你就想做性能测试,并一直学习性能方面知识;
那么性能测试到底需不需要代码能力,答案是肯定的;一些知名公司都是自己的测试开发性能工具更适合自己本公司的性能分析需求,像市面上常见的loadrunner,jmeter一般都不适用于或者不能满足于一些特殊需求,查看一些数据比较麻烦或者需要借助其他工具;
这里我们着重讲解linux下的性能指令及数据分析
进程管理
& 后台运行指令 语法 在指令后面加上&即可 例:find / -name install.logs.syslog & 完成任务会提示done
fg 将后台工作推到前台 语法:fg %number
jobs 显示后台任务
ps aux/-ef 显示当前进程 例查找tomcat进程是否启动 ps aux|grep java
w 查看系统负载 1分钟 5分钟 15分钟的负载值大于CPU个数证明系统有压力,需要关注;
vmstat 当前系统状态 procs进程:r(运行或等待CPU时间片的进程数)如果大于CPU数,说明CPU不够用
b(等待资源的进程数) 如果长时间大于1说明系统负载比较大
memory内存:swpd切换到交换区间的内存数量 si(由内存写入交换区的数量)so(由交换区写入内存的数量) *如果SI SO不为零 说明内存不够用,或者程序内存泄露
free 空闲磁盘大小
buff 即将写入磁盘的缓存大小
cache 即将读取磁盘大小
io 磁盘:bi 从快设备读取磁盘的量 (bi bo 数值较大说明系统存在压力,需要关注)
bo写磁盘的量
system采集间隔时间内发生中断次数:in每秒设备中断数 cs每秒上下文切换数
cpu:us 每个用户花费CPU的百分比 sy 系统花费CPU时间的百分比 id CPU处于空闲状态的时间百分比 wa IO等待所占CPU时间百分比 st 被偷走的CPU所占时间百分比
top 与vmstat不同的在于top可以实时的查看系统状态 同时也可以显示出进程数tasks 平均负载量load average 内存 磁盘 交换区内存情况 ; 同时配合参数 -bn1 可以截取某一时间的系统状态;
free 查看内存的使用情况 -b字节 -k -m兆 -t总共
kill 停止或者杀死进程 通过进程号PID或者是任务号 -l(kill -l 查询信号编号) -s指定发送信号9(kill -s9无条件终止进程)
netstat 查看网络状况 例 netstat -lnp |less 查看当前系统占用了哪些端口 netstat -an|grep 8080 查看8080端口都被哪些进程占用
ifconfig 查看IP 加参数修改IP等 ifconfig eth0 172.31.3.285 ifconfig eth0 down/up
ping IP网址与本机链接状况 -c(数字,次数) ctrl+c