阿昌教你在数据库的压测过程中,如何360度无死角观察机器性能
阿昌 Java小菜鸡
## 一、前言 之前的文章,我们使用`sysbench`这个工具非常方便的去对`数据库`进行`压测`; 那我们如果在压测的同时,查看直接机子的性能情况呢???

二、正文

1、top命令

最常用的监测linux机器性能的命令,就是top命令
1
top #top指令

我们会看到如下图:↓↓↓
image
1
2
3
4
5
6
7
8
9
top - 19:36:13 up  2:42,  5 users,  load average: 0.78, 2.26, 2.14

- 19:36:22 #当前时间
- up 2:42 #机器已经运行了多长时间
- 5 users #当前机器有5个用户在使用
- 0.78, 2.26, 2.14 #CPU在1分钟、5分钟、15分钟内的负载情况
-假设CPU为4个核心,CPU负载是0.78,这就说明,4核CPU中连一个核都没用满,4核CPU基本就了一点
-CPU负载是1,那说明4核CPU中有一个核已经被使用的比较繁忙了,另外3个核还是比较空闲一些。要是CPU负载是1.5,说明有一个核被使用繁忙,另外一个核也在使用,但是没那么繁忙,还有2个核可能还是空闲的
-以此类推.....

跳过几行
1
2
3
Mem: 995896k total, 65156used, 343860 free, 586880 buffers

- 这里说的就是当前机器的内存使用情况,这个其实很简单,明显可以看出来就是总内存大概有1GB,已经使用了65mb左右的内存,还有343mb的内存是空闲的,然后有大概586mb左右的内存用作OS内核的缓冲区了。

二、dstat命令

使用dstat命令 【安装&指令教程

1、观察机器的磁盘IO

dstat -d命令
image
存储的IO吞吐量是每秒钟读取1216kb的数据,每秒写入2573kb的数据,像这个存储IO吞吐量基本上都不
算多的,因为普通的机械硬盘都可以做到每秒钟上百MB的读写数据量。

2、观察随机磁盘读取

dstat -r命令
image
他的这个意思就是读IOPS和写IOPS分别是多少,也就是说随机磁盘读取每秒钟多少次,随机磁盘写入每秒钟执行多少次,大概就是这个意思,一般来说,随机磁盘读写每秒在两三百次都是可以承受的。

3、观察网卡的流量情况

dstat -n命令
image
这个说的就是每秒钟网卡接收到流量有多少kb,每秒钟通过网卡发送出去的流量有多少kb,通常来说,如果你的机器使用的是千兆网卡,那么每秒钟网卡的总流量也就在100MB左右,甚至更低一些

 请作者喝咖啡