概述
此文已由作者赵慧莉授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
一、前言
在进行性能测试前,有些参数需要本地进行调试,不适合直接使用性能测试平台。主要通过监控CPU、内存、磁盘、网络情况来判断是否符合标准。接下来将通过CPU、内存、磁盘、网络情况的评估标准、常见的监控命令、常见会出现的一些问题来进行分析。
二、资源监控
1、监控CPU
CPU评估
user + sys [0%, 50%] :负载低
user + sys [70%, 90%] :负载高
user + sys [90%, 100%] :满负荷
CPU在满负荷状态下应符合7/3分布
CPU的负载不能高于CPU核心数目
常用的监控命令
整理CPU使用情况:top/vmstat/dstat
每个CPU使用情况:mpstat
进程CPU使用情况:pidstat
举例
vmstat命令:用来获得有关进程、虚存、页面交换空间及 CPU活动的信息。(实例为:1s采集一次,采集4次后结束)
dstat命令, 默认情况它会收集-cpu-,-disk-,-net-,-paging-,-system-的数据。(默认输入dstat等于输入了dstat -cdngy 1或dstat -a 1. 推荐使用 date && dstat -tclmdny 60 一分钟监视一次)
mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据。
pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。
常见的CPU问题
多核使用率不均匀
CPU使用率过高
CPU周期性的飙升
2、监控内存
内存
物理内存:真正的内存
虚拟内存:为了满足物理内存不足,利用磁盘空间虚拟出的逻辑内存
使用交换内存会带来磁盘IO和CPU开销的增加
常用的监控命令
top
free
vmstat
cat /proc/meminfo
举例
top
free
常见的内存问题
OOM
内存暴增
swap升高
内存泄漏
3、监控磁盘
相关指标
IOPS:每秒读写次数,tps
bps:每秒读写块数,Blk_read/s , Blk_wrtn/s
%util:设备的利用率
svctm:平均每次设备I/O操作的服务时间
await:平均每次设备I/O操作的等待时间,排队时间+服务时间
avgqu-sz:平均I/O队列长度
await和svctm差距越大表示io的压力越大
常用的监控命令
iostat
iotop
举例
iostat选项-x,该选项将用于显示和io相关的扩展数据。
4、监控网络
需要关注点
网络流量
监听端口
连接数
句柄数
常用的监控命令
netstat / dstat
lsof
sar
tcpdump
iptraf
举例
tcpdump(tcpdump -i any -s 0 -l -w - port 8186|strings )
常见的网络问题
能ping通但是服务不能访问
too many open files
三、总结
本文主要从监控CPU、内存、磁盘、网络四个方面进行分析,每方面的从评估标准、常见的监控命令、常见会出现的一些问题来进行阐述,希望能给大家带来基础的认识。
免费体验云安全(易盾)内容安全、验证码等服务
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 jq一个强悍的json格式化查看工具
最后
以上就是漂亮外套为你收集整理的当你想进行简单性能测试监控的时候应该如何选择监控命令?的全部内容,希望文章能够帮你解决当你想进行简单性能测试监控的时候应该如何选择监控命令?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复