性能检测

工具        简单介绍
top        查看进程活动状态以及一些系统状况
vmstat      查看系统状态、硬件和系统信息等
iostat      查看CPU 负载,硬盘状况
sar        综合工具,查看系统状况
mpstat      查看多处理器状况
netstat     查看网络状况
iptraf      实时网络状况监测
tcpdump      抓取网络数据包,详细分析
mpstat      查看多处理器状况
tcptrace     数据包分析工具
netperf      网络带宽工具
dstat       综合工具,综合了 vmstat, iostat, ifstat, netstat 等多个信息

 

IO

iftop 
-i eth0 指定网卡名
-P 90   指定端口
-F 192.168.1.0/24 只显示指定网段
                                 12.5Kb                           25.0Kb                           37.5Kb                           50.0Kb            62.5Kb
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
liushuo                                                               => 121.28.69.79                                                          4.12Kb  3.89Kb  3.89Kb
                                                                      <=                                                                        320b    320b    320b
liushuo                                                               => 169.254.0.4                                                           5.14Kb  2.57Kb  2.57Kb
                                                                      <=                                                                       2.97Kb  1.48Kb  1.48Kb
liushuo                                                               => 183.60.82.98                                                           560b    850b    850b
                                                                      <=                                                                        516b   1.15Kb  1.15Kb
liushuo                                                               => 183.60.83.19                                                           280b    570b    570b
                                                                      <=                                                                          0b    522b    522b
liushuo                                                               => 106.2.176.5                                                            320b    160b    160b
                                                                      <=                                                                        416b    208b    208b
liushuo                                                               => 169.254.128.17                                                         112b    112b    112b
                                                                      <=                                                                        112b    112b    112b
liushuo                                                               => 169.254.128.10                                                         112b    112b    112b
                                                                      <=                                                                        112b    112b    112b
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
TX:      写    cum:   4.11KB   peak:    10.6Kb                                                                                        rates:   10.6Kb  8.22Kb  8.22Kb
RX:      读            1.94KB           4.41Kb                                                                                                 4.41Kb  3.88Kb  3.88Kb
TOTAL:                 6.05KB           15.0Kb                                                                                                 15.0Kb  12.1Kb  12.1Kb
 iotop
Total DISK READ :    7.87 K/s | Total DISK WRITE :       3.94 K/s
Actual DISK READ:    7.87 K/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND   3794 be/4 root        0.00 B/s    3.94 K/s  0.00 %  0.00 % barad_agent
15872 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
15876 be/4 mysql       0.00 B/s    0.00 B/s  0.00 %  0.00 % mysqld

nethogs  查看进程的相关流量

NetHogs version 0.8.5

    PID USER     PROGRAM                                                                                                          DEV        SENT      RECEIVED       
   3794 root     barad_agent                                                                                                      eth0        0.224      0.091 KB/sec
  22022 root     sshd: root@pts/0                                                                                                 eth0        0.145      0.042 KB/sec
      ? root     172.16.0.15:23911-185.176.26.104:59826                                                                                       0.011      0.021 KB/sec
   4141 root     /usr/local/qcloud/YunJing/YDEyes/YDService                                                                       eth0        0.044      0.000 KB/sec
      ? root     unknown TCP                                                                                                                  0.000      0.000 KB/sec

  TOTAL                                                                                                                                       0.424       0.154 KB/sec
 
netstat -nultp    TCP状态(负载均衡器)
netstat -n |awk '/^tcp/ {++state[$NF]} END {for (key in state) print key,"\t",state[key]}'

 

nmon
lnmon-16g---------------------Hostname=liushuo------Refresh= 2secs ---09:13.35---------------------------------------------------------------------------------------k
x                                                                                                                                                                    x
x   ------------------------------                                                                                                                                   x
x    _ __  _ __ ___   ___  _ __         For help type H or ...                                                                                                      x
x   | '_ \| '_ ` _ \ / _ \| '_ \          nmon -?  - hint                                                                                                            x
x   | | | | | | | | | (_) | | | |         nmon -h  - full details                                                                                                    x
x   |_| |_|_| |_| |_|\___/|_| |_|                                                                                                                                    x
x                                        To stop nmon type q to Quit                                                                                                 x
x   ------------------------------                                                                                                                                   x
x                                                                                                                                                                    x
x   CentOS Linux release 7.2.1511 (Core)  VERSION="7 (Core)"                                                                                                         x
x   Vendor=GenuineIntel Model=Intel(R) Xeon(R) CPU E5-26xx v4                                                                                                        x
x   MHz=2394.446 bogomips=4788.89          lscpu:CPU=1 Little Endian                                                                                                 x
x   ProcessorChips=1 PhyscalCores=1              Sockets=1 Cores=1 Thrds=1                                                                                           x
x                    VirtualCPUs =1              MHz=2394 max=0 min=0                                                                                                x
x                                                                                                                                                                    x
x   Use these keys to toggle statistics on/off:                                                                                                                      x
x     c = CPU         l = CPU Long-term     - = Faster screen updates                                                                                                x
x     C = " WideView  U = Utilisation       + = Slower screen updates                                                                                                x
x     m = Memory      V = Virtual memory    j = File Systems                                                                                                         x
x     d = Disks       n = Network           . = only busy disks/procs                                                                                                x
x     r = Resource    N = NFS               h = more options                                                                                                         x
x     k = Kernel      t = Top-processes     q = Quit                                                                                                                 x
x--------------------------------------------------------------------------------------------------------------------------------------------------------------------x
x                                                                                                                                                                    x
x                                                                                                                                                                    x
x                                                                                                                                                                    x

 

正确的使用dd进行磁盘读写速度测试

测试方式:使用dd指令,对磁盘进行连续写入,不使用内存缓冲区,每次写入8k的数据,总共写入20万次,产生1.6G大小的文件。

测试指令:dd if=/dev/zero of=/data01/test.dbf bs=8k count=200000 conv=fdatasync

----------------------------------------------

 

正确的使用dd进行磁盘读写速度测试
dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,所以可以用来测试硬盘的顺序读写能力。可以写文件,可以写裸设备。


dd语法
---------------------------------------------------------
功能说明:读取,转换并输出数据。
语  法:dd [bs=<字节数>][cbs=<字节数>][conv=<关键字>][count=<区块数>][ibs=<字节数>][if=<文件>][obs=<字节数>][of=<文件>][seek=<区块数>][skip=<区块数>][--help][--version]
补充说明:dd可从标准输入或文件读取数据,依指定的格式来转换数据,再输出到文件,设备或标准输出。
参  数:
  bs=<字节数>   将ibs( 输入)与obs(输出)设成指定的字节数。
  cbs=<字节数>   转换时,每次只转换指定的字节数。
  conv=<关键字>   指定文件转换的方式。
  count=<区块数>   仅读取指定的区块数。
  ibs=<字节数>   每次读取的字节数。
  if=<文件>   从文件读取。
  obs=<字节数>   每次输出的字节数。
  of=<文件>   输出到文件。
  seek=<区块数>   一开始输出时,跳过指定的区块数。
  skip=<区块数>   一开始读取时,跳过指定的区块数。
  --help   帮助。
  --version   显示版本信息。

dd常用参数详解
---------------------------------------------------------
if=xxx  从xxx读取,如if=/dev/zero,该设备无穷尽地提供0,(不产生读磁盘IO)
of=xxx  向xxx写出,可以写文件,可以写裸设备。如of=/dev/null"黑洞",它等价于一个只写文件. 所有写入它的内容都会永远丢失. (不产生写磁盘IO)
bs=8k  每次读或写的大小,即一个块的大小。
count=xxx  读写块的总数量。

避免操作系统“写缓存”干扰测试成绩,使用sync、fsync、fdatasync
---------------------------------------------------------
关于sync、fsync、fdatasync请参考:http://elf8848.iteye.com/blog/2088986

dd bs=8k count=4k if=/dev/zero of=test.log conv=fsync 
dd bs=8k count=4k if=/dev/zero of=test.log conv=fdatasync
dd bs=8k count=4k if=/dev/zero of=test.log oflag=dsync
dd bs=8k count=4k if=/dev/zero of=test.log  默认“写缓存”启作用
dd bs=8k count=4k if=/dev/zero of=test.log conv=sync   “写缓存”启作用
dd bs=8k count=4k if=/dev/zero of=test.log; sync   “写缓存”启作用

dd bs=8k count=4k if=/dev/zero of=test.log conv=fsync 
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,,这样算出来的时间才是比较符合实际使用结果的。conv=fsync表示把文件的“数据”和“metadata”都写入磁盘(metadata包括size、访问时间st_atime & st_mtime等等),因为文件的数据和metadata通常存在硬盘的不同地方,因此fsync至少需要两次IO写操作,fsync 与fdatasync相差不大。(重要,最有参考价值)

dd bs=8k count=4k if=/dev/zero of=test.log conv=fdatasync
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,,这样算出来的时间才是比较符合实际使用结果的。conv=fdatasync表示只把文件的“数据”写入磁盘,fsync 与fdatasync相差不大。(重要,最有参考价值)

dd bs=8k count=4k if=/dev/zero of=test.log oflag=dsync
加入这个参数后,每次读取8k后就要先把这8k写入磁盘,然后再读取下面一个8k,一共重复4K次。这是最慢的一种方式了。

dd bs=8k count=4k if=/dev/zero of=test
没加关于操作系统“写缓存”的参数,默认“写缓存”启作用。dd先把数据写的操作系统“写缓存”,就完成了写操作。通常称为update的系统守护进程会周期性地(一般每隔30秒)调用sync函数,把“写缓存”中的数据刷入磁盘。因为“写缓存”起作用,你会测试出一个超级快的性能。
如:163840000 bytes (164 MB) copied, 0.742906 seconds, 221 MB/s

dd bs=8k count=4k if=/dev/zero of=test conv=sync  
conv=sync参数明确“写缓存”启作用,默认值就是conv=sync 

dd bs=8k count=4k if=/dev/zero of=test; sync 
与第1个完全一样,分号隔开的只是先后两个独立的命令。当sync命令准备开始往磁盘上真正写入数据的时候,前面dd命令已经把错误的“写入速度”值显示在屏幕上了。所以你还是得不到真正的写入速度。


裸设备测试
----------------------
1、裸设备到文件系统
dd if=/dev/rsd1b of=/backup/df1.dbf bs=8k skip=8 count=3841
2、文件系统到裸设备
dd if=/backup/df1.dbf of=/dev/rsd2b bs=8k seek=8

 

posted @ 2019-05-16 08:59  慕沁  阅读(340)  评论(0)    收藏  举报