zoukankan      html  css  js  c++  java
  • linux 性能测试与调优

    CPU  性能评估

    通过下面命令能了解到cpu是否出现性能瓶颈,再结合top、ps等命令进一步检查,就可以定位到哪些进程导致cpu负载过大。

    vmstat查看cpu负载

    [root@zq ~]# vmstat
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0     80 114428    120 332868    0    0  2864   106  682 1246 14 20 41 25  0
    [root@zq ~]# vmstat 2 3
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     5  0     80 114984    120 333164    0    0  2408    97  605 1091 12 17 50 21  0
     0  0     80 114464    120 333164    0    0     0     0  110  194  3  1 96  0  0
     0  0     80 114464    120 333164    0    0     0     0   99  182  2  2 96  0  0

    sar统计cpu性能

    在一个多cpu的系统中,cpu的整体使用率不高,但是系统响应缓慢,结果就是,单线程只使用一个cpu,导致这个cpu利用率百分之百,无法处理其他请求,而其他cpu闲置,导致整体cpu使用率不高,应用缓慢现象发生。

    [root@zq ~]# sar 
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    19时10分28秒       LINUX RESTART
    [root@zq ~]# sar -p 0 3 5
    用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
    选项:
    [ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ]
    [ -r ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ]
    [ -I { <中断> [,...] | SUM | ALL | XALL } ] [ -P { <cpu> [,...] | ALL } ]
    [ -m { <关键词> [,...] | ALL } ] [ -n { <关键词> [,...] | ALL } ]
    [ -j { ID | LABEL | PATH | UUID | ... } ]
    [ -f [ <文件名> ] | -o [ <文件名> ] | -[0-9]+ ]
    [ -i <间隔> ] [ -s [ <时:分:秒> ] ] [ -e [ <时:分:秒> ] ]
    [root@zq ~]# sar -P 0 3 5
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    11时28分36秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
    11时28分39秒       0      2.36      0.00      0.67      0.00      0.00     96.97
    11时28分42秒       0      2.35      0.00      1.34      0.00      0.00     96.31
    11时28分45秒       0      2.69      0.00      1.01      0.00      0.00     96.30
    11时28分48秒       0     10.03      0.00      3.11      0.00      0.00     86.85
    11时28分51秒       0     10.65      0.00      3.09      1.72      0.00     84.54
    平均时间:       0      5.57      0.00      1.83      0.34      0.00     92.26
    [root@zq ~]# sar -u 3 5
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    11时29分28秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
    11时29分31秒     all      2.02      0.00      1.35      0.00      0.00     96.63
    11时29分34秒     all      3.02      0.00      3.02      0.00      0.00     93.96
    11时29分37秒     all      2.36      0.00      1.35      0.00      0.00     96.28
    11时29分40秒     all      1.34      0.00      1.00      0.00      0.00     97.66
    11时29分43秒     all      2.34      0.00      1.67      0.00      0.00     95.99
    平均时间:     all      2.22      0.00      1.68      0.00      0.00     96.10

    iostat查看cpu使用情况

    [root@zq ~]# iostat -
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               4.03    0.12    4.68    5.13    0.00   86.04
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda              15.46       575.49        24.08     479490      20062
    sdc               0.14         0.62         0.00        520          0
    sdd               0.18         1.25         0.00       1044          0
    sdb               0.15         0.92         0.00        764          0
    scd0              0.02         0.06         0.00         54          0
    dm-0              0.10         0.67         0.00        556          0
    
    [root@zq ~]# iostat -l
    用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]
    选项:
    [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
    [ -j { ID | LABEL | PATH | UUID | ... } ]
    [ [ -T ] -g <用户组名> ] [ -p [ <设备> [,...] | ALL ] ]
    [ <设备> [...] | ALL ]
    [root@zq ~]# iostat -c
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               3.96    0.11    4.52    4.89    0.00   86.51

    uptime查看负载

    [root@zq ~]# uptime 
     11:34:07 up 17 min,  2 users,  load average: 0.06, 0.12, 0.13   #如果三个平均值大于cpu核数则负载很高

    内存性能评估

    free查看内存使用情况

    [root@zq ~]# free
                  total        used        free      shared  buff/cache   available
    Mem:        1001332      546424      113316        8416      341592      279120
    Swap:       2047996          80     2047916
    [root@zq ~]# free -p
    free:无效选项 -- p
    
    Usage:
     free [options]
    
    Options:
     -b, --bytes         show output in bytes
     -k, --kilo          show output in kilobytes
     -m, --mega          show output in megabytes
     -g, --giga          show output in gigabytes
         --tera          show output in terabytes
     -h, --human         show human-readable output
         --si            use powers of 1000 not 1024
     -l, --lohi          show detailed low and high memory statistics
     -t, --total         show total for RAM + swap
     -s N, --seconds N   repeat printing every N seconds
     -c N, --count N     repeat printing N times, then exit
     -w, --wide          wide output
    
         --help     display this help and exit
     -V, --version  output version information and exit
    
    For more details see free(1).
    [root@zq ~]# free -m
                  total        used        free      shared  buff/cache   available
    Mem:            977         533         110           8         333         272
    Swap:          1999           0        1999

    vmstat 和 sar -r 都可以监控内存

    [root@zq ~]# vmstat
    procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0     80 112032    120 342700    0    0   373    16  177  292  3  3 90  3  0
    [root@zq ~]# sar -r
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    19时10分28秒       LINUX RESTART
    
    11时20分01秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
    11时30分01秒    111912    889420     88.82       120    270688   2353808     77.19    382172    199608         0
    平均时间:    111912    889420     88.82       120    270688   2353808     77.19   

    磁盘i/o性能评估

    sar -d统计磁盘io状态

    [root@zq ~]# sar -d
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    19时10分28秒       LINUX RESTART
    
    11时20分01秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util  #正常svctm<await
    11时30分01秒    dev8-0      0.82     27.24      8.62     43.81      0.03     34.70      6.77      0.55  
    11时30分01秒   dev8-32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00 #svctm接近await没有io等待,性能很好
    11时30分01秒   dev8-48      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    11时30分01秒   dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00#cpu内存过多会使svctm增加
    11时30分01秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时30分01秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00#%util接近100%表示满负荷 11时40分02秒 dev8-0 0.24 4.99 1.63 27.47 0.01 41.46 11.95 0.29 11时40分02秒 dev8-32 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时40分02秒 dev8-48 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时40分02秒 dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时40分02秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11时40分02秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev8-0 0.53 16.12 5.12 40.09 0.02 36.24 7.95 0.42 平均时间: dev8-32 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev8-48 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

    iostat -d

    [root@zq ~]# iostat -d  #查看磁盘
    Linux 3.10.0-327.el7.x86_64 (zq)     2017年05月20日     _x86_64_    (1 CPU)
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               7.15       262.94        11.39     480898      20839
    sdc               0.06         0.28         0.00        520          0
    sdd               0.08         0.57         0.00       1044          0
    sdb               0.07         0.42         0.00        764          0
    scd0              0.01         0.03         0.00         54          0
    dm-0              0.05         0.30         0.00        556          0
  • 相关阅读:
    poj2828 Buy Tickets
    bzoj2724: [Violet 6]蒲公英
    0x41 并查集
    poj1733 Parity game
    poj2976 Dropping tests
    poj1704 Georgia and Bob
    bzoj4517: [Sdoi2016]排列计数
    poj2947Widget Factory
    0x3A 博弈论之SG函数
    我国已累计招收培养14万余名博士后
  • 原文地址:https://www.cnblogs.com/zq6041/p/6881817.html
Copyright © 2011-2022 走看看