一、测试目的
发现服务器性能瓶颈(服务器配置不同能承载压力也不同)
二、测试范围及性能指标
CPU、内存、硬盘、网络、版本
注意:测试与生产环境配置不同
通过多次压测来计算性能损耗,服务器增加越多,损耗越多
性能损耗预估:脚本同,场景同,并发同,增加服务器
三、进程和线程
四、服务器实时监控
常用命令
1、man
2、top
-h 帮助
-p 监控指定进程,当监控多个进程时,进程ID以逗号分隔
top任务区命令:M按内存排序;P按CPU排序;Z彩色/黑白显示
load average 系统运行队列平均利用率;在单核CPU中,load average的值为1时表示满负荷状态,在多核CPU中,满负荷的load average的值为1*CPU核数
3、vmstat 监控进程状态、内存、虚拟内存、硬盘、IO、CPU
-s:使用指定单位显示,参数有k,K,m,M分别代表1000,1024,1000000,1048576字节(byte),默认单位K(1024bytes)
例:vmstat 1 1 第一个1表示时间间隔,第二个1表示次数,单位K
4、free 监控内存
例:free -h
5、mpstat 可以查看多核CPU中每个计算核心的统计数据
-P [0 ,CPU个数-1]中取值
internal 相邻两次采样间隔时间
count 采样次数
例:mpstat 1 5
mapstat -P 0
6、netstat
n:拒绝显示别名,能显示数字的全部转换为数字
-l:仅列出有在Listen的服务状态
-P:显示建立相关链接的程序名
例:netstat -ntlp 查看端口有没有被监听
netstat -i 网络传输大小以及有没有错误
7、iostat -X
该命令关注rkb/s wkb/s util(繁忙程度,越大越差)
例:iostat -X sda 设备名
iostat -X sda 1 2
8、万能命令 sar
-A 所有报告总和;-U cpu利用率;-v 进程节点文件和锁表状态;-r 内存使用情况;-B 内存分页情况 ; -b 缓冲区使用情况
9、strace 对应用的系统调用和信号传递的跟踪,结果来对应用进行分析
例:strace -ff -F -t -o XX.log ./zkServer.sh start 跟踪zookeeper启动过程
五、监控工具
nmon使用
-f
-F
-s 采集数据频率
-c
-t 最消耗资源进程数据
-h
nmon结果分析 nmon_analyser
重点sheet 包括如下
SYS_SUM 系统汇总页
AAA 关于操作系统以及nmon本身信息
CPUnn 显示执行时间内CPU占用率
CPU_ALL
CPU_SUMN
DGBUSY 磁盘组每个hdisk设备平均占用
DGREAD 每个磁盘组平均读情况
DGSIZE 每个磁盘组平均读写情况
DGWRITE 每个磁盘组平均写情况
DGXFER 每个磁盘组IO每秒操作
MEM 内存
NET 每个网络适配器的数据传输速率(千字节/秒)
PAGE 本sheet统计相关页信息的记录
六、Linux定时任务
crontab
启动: /sbin/service crond status ;start;stop;restart;reload(重新载入配置)
服务权限 :在cron.allow文件和cron.deny文件中,如果没有可创建在/etc/目录,allow允许哪些用户使用;deny不允许哪些用户使用
使用场景说明:
1 两个文件都不存在,只允许root用户使用
2 allow存在 deny不存在 只允许allow中用户使用
3 deny存在,allow不存在,只要没列在deny中均可
4 都存在,一个用户都有以allow文件为准
crontab -l 查看
crontab -e编辑 在编辑页命令输入
基本格式:
分 时 日 月 周 命令 (6列)
00-59 00-23 01-31 01-12 0-6
*代表所有;/代表每 ;-代表从某个数字到某个数字 ;,代表分隔几个不同数字
例:* * * * * nmon -f -F DEMO1.nmon -s 1 -c 10