欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

性能调优的一些工具

程序员文章站 2022-04-09 21:27:07
...
  • vmstat
    [[email protected]_5_30_centos ~]# vmstat 22958
    procs -----------memory---------- ---swap--    -----io----   -system--      -cpu
     r  b   swpd   free   buff  cache   si   so    bi    bo      in  cs us sy   id wa st
     1  0      0 846752 184632 3362228    0    0   0     9       4  0  7   1    92  0  0	

    说明:cs   content swap  每秒上下文切换的次数

  •             in     系统中断的次数,包含时间中断

  •             us、sy 分别用户态和内核态的 CPU 利用率
  • [[email protected]_5_30_centos ~]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          7.7G       6.9G       823M       172K       180M       3.2G
    -/+ buffers/cache:       3.5G       4.2G 
    Swap:           0B         0B         0B 
    

    buff/cache 是缓存和缓冲区的大小。缓存(cache):是从磁盘读取的文件的或者向磁盘写文件时的临时存储数据,面向文件。使用 cachestat 可以查看整个系统缓存的读写命中情况,使用 cachetop 可以观察每个进程缓存的读写命中情况。缓冲区(buffer)是写入磁盘数据或从磁盘直接读取的数据的临时存储,面向块设备

  • [[email protected]_0_36_centos ~]# iostat -dxk
    Linux 2.6.32-573.el6.x86_64 (VM_0_36_centos) 	01/15/20 	_x86_64_	(8 CPU)
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    vda               0.01     1.83    0.68    1.17    10.20    12.00    23.92     0.01    7.78   10.26    6.33   3.82   0.71
    vdb               0.10    34.93    0.63    0.83    88.90   143.03   318.11     0.01    8.23  139.99   58.18   2.41   0.35
    vdc               0.62  3230.97   60.04  215.61  3546.34 13996.54   127.28     0.08    0.27    1.97    0.37   0.40  11.16
    vdd               0.00    52.05    0.34    5.14    17.14   228.77    89.80     0.10   18.50   12.31   18.91   1.40   0.77
    vde               0.01    23.73    0.04    0.98     3.87    95.46   194.58     0.05   48.57    7.59   50.44   0.91   0.09

    %util 代表利用率    r/s w/s 每秒读写请求数   r_wait  w_wait 读写等待时长

  • rkB/s wkB/s 读写的容量  每秒的kb数   吞吐量

  • 出现IO性能的情况

      当磁盘 I/O 利用率长时间超过 80%,或者响应时间过大  

      如果 %util 很大,而 rkB/s 和 wkB/s 很小,一般是因为存在较多的磁盘随机读写,最好把随机读写优化成顺序读写

      如果 avgqu-sz 比较大,说明有很多 I/O 请求在队列中等待。一般来说,如果单块磁盘的队列长度持续超过2,一般认为该磁盘存在 I/O 性能问题。

     

相关标签: 性能