码迷,mamicode.com
首页 > 其他好文 > 详细

性能测试三十:监控之CPU、内存、磁盘,命令监控

时间:2019-01-17 23:51:58      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:占用   测试过程   mys   磁盘io   idle   free   数字   use   png   

性能监控是性能测试过程中非常重要的一个环节,当在压测过程中出现性能瓶颈时,需要综合详细的监控数据对问题进行分析。整个系统架构中的每一个环节都需要做监控(压力机、网络、各中间件、各服务器硬件资源等)。性能监控做好了,就能帮助你快速的定位问题,找到系统的性能瓶颈。

 

操作系统级别监控

技术分享图片

 

cpu监控

 

Top命令:

Top命令是Linux下一个实时的、交互式的,对操作系统整体监控的命令,可以对CPU、内存、进程监控。 是Linux下最常用的监控命令。

 

起一个项目,给点压力,看看效果

技术分享图片

一个并发,永远跑,看一下

技术分享图片

技术分享图片

 

技术分享图片

load average:过去某段时间内CPU平均的负载情况,(排队要执行的的进程数)

第一个值所在的位置:过去一分钟的

第二个值所在的位置:过去五分钟的

第三个值所在的位置:过去十五分钟的

 一般来说,排队的数量最好不要超过cpu的核数,比如4核,但是数字大于4,则代表有进程在排队,等待执行

Task:当前有多少个任务

Cpu(s):反映cpu的一些数据:

  us:用户使用(用户进程,如myslq、tomcat、qq)的cpu的百分比

  sy:系统使用的cpu的百分比

  ni:指进程的优先级,一般都是0,不用管

  id:idle,空闲的:=1-us-sy

  wa:wait,因为有些任务是需要些磁盘的(如tomcat需要写日志),而CPU的速度比磁盘写入的速度更快,所以有了这个等待写入数据的状态,如果这个值比较大的话,说明磁盘写入速度比较慢,压力比较大,磁盘那块很可能就有问题

  hi、si、st:跟中断相关的,不用关注

按1会展示每个核的具体情况,由于我的是单核,所以按了1也只有这一个

 技术分享图片

以下截图为16核的

技术分享图片

Mem:memory,内存,一般如果是要看内存不使用top命令,下面有一个专门看内存的命令

Swap:交换分区,磁盘上的一块区域,当内存满时,可以充当临时内存,但是速度还是比真实的内存满很多,比如,系统一直运行中,到某个时候,内存已经满了,这个时候还想启动一个程序,cpu会检测,有哪些程序已经长时间没活动了,但是还占用着内存,这个时候,会把这些程序占用的内存,转移到swap空间中,腾出一些空间保证用户能继续启动程序(如WPS启动着最小化过一段时间不用,再切换回来的时候,会很卡),所以说这个指标反映出内存是否足够的情况,若used数据一直在涨,则说明内存不足

RES:当前进程所占的真实内存的大小

%CPU:指当前进程占cpu使用的比例,为所有核占用之和,比如8核,这里有可能统计出来是800

%MEM:当前进程占用内存的百分比

 top命令默认是以占用cpu的比例降序排列的,若想以占用内存的比例来排序,按M即可,按P切回cpu

技术分享图片

 

 

内存监控

free命令可以查看当前系统内存的使用情况

技术分享图片

free -m 以MB为单位显示系统内存的使用情况,同理,也可以使用-k、-g等其他的单位显示,此处换算单位精度的问题,检测为1006M,实际为1G

技术分享图片

 

free命令从两个维度统计了内存的使用情况
第一行Mem:

技术分享图片

从操作系统角度统计内存的total(总共)、used(已使用)、free(剩余)、buffers(往内存写内容的时候的缓存)、cached(读内存的时候的缓存,类似于Redis和Mysql的关系)

所以,实际剩余内存=free+buffer+cached

 

第二行-/+buffers:

从应用程序角度统计内存的total、used、free、buffers、cached

技术分享图片

buffer和cache
两者都是Linux下的缓存机制,其中buffer为写操作的缓存,cache为读操作的缓存

swap
交换空间,磁盘上的一块空间,当系统内存不足时,会使用交换空间

 

 磁盘监控

iostat命令可以查看当前机器磁盘io的数据

技术分享图片

 

命令:iostat -x -k 1
-x:展示磁盘的扩展信息

技术分享图片

-k:以k为单位展示磁盘数据

1:每1秒刷新一次

技术分享图片

 

avg-cpu:监控cpu的指标

Device:真正监控磁盘的数据,一般数据库服务器消耗磁盘比较多,应用程序一般消耗磁盘不多,消耗cpu比较多

展示结果
util:磁盘IO使用率,单位%,反映磁盘的繁忙程度,上限100%,一般达到90%就代表磁盘压力非常大了,已经达到瓶颈了, 当看到util比较大 的时候,看看rkb和wkb的情况,看看是那个造成的
r/s:每秒读请求数
w/s:每秒写请求数
rkb/s:每秒写磁盘字节数
wkb/s:每秒读磁盘字节数

 

df命令可以查看当前系统磁盘空间的使用情况
命令:df -h

技术分享图片

 

磁盘速度测试,如果磁盘读写的性能极差,那么压测出来的结果极有可能不准,比如我的2.7M,肯定太小了,一般至少是50多MB/秒
命令:dd if=/dev/zero of=/export/ddtest bs=8k count=1000000 oflag=direct

 过几秒钟后Ctrl+c结束

技术分享图片

 

性能测试三十:监控之CPU、内存、磁盘,命令监控

标签:占用   测试过程   mys   磁盘io   idle   free   数字   use   png   

原文地址:https://www.cnblogs.com/zhongyehai/p/10279976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!