linux 性能测试与调优
Posted rumenzq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 性能测试与调优相关的知识,希望对你有一定的参考价值。
CPU 性能评估
通过下面命令能了解到cpu是否出现性能瓶颈,再结合top、ps等命令进一步检查,就可以定位到哪些进程导致cpu负载过大。
vmstat查看cpu负载
[[email protected] ~]# 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 [[email protected] ~]# 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使用率不高,应用缓慢现象发生。
[[email protected] ~]# sar Linux 3.10.0-327.el7.x86_64 (zq) 2017年05月20日 _x86_64_ (1 CPU) 19时10分28秒 LINUX RESTART [[email protected] ~]# 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 [ <时:分:秒> ] ] [[email protected] ~]# 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 [[email protected] ~]# 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使用情况
[[email protected] ~]# 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 [[email protected] ~]# iostat -l 用法: iostat [ 选项 ] [ <时间间隔> [ <次数> ] ] 选项: [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } ] [ [ -T ] -g <用户组名> ] [ -p [ <设备> [,...] | ALL ] ] [ <设备> [...] | ALL ] [[email protected] ~]# 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查看负载
[[email protected] ~]# uptime 11:34:07 up 17 min, 2 users, load average: 0.06, 0.12, 0.13 #如果三个平均值大于cpu核数则负载很高
内存性能评估
free查看内存使用情况
[[email protected] ~]# free total used free shared buff/cache available Mem: 1001332 546424 113316 8416 341592 279120 Swap: 2047996 80 2047916 [[email protected] ~]# 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). [[email protected] ~]# free -m total used free shared buff/cache available Mem: 977 533 110 8 333 272 Swap: 1999 0 1999
vmstat 和 sar -r 都可以监控内存
[[email protected] ~]# 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 [[email protected] ~]# 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状态
[[email protected] ~]# 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
[[email protected] ~]# 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
以上是关于linux 性能测试与调优的主要内容,如果未能解决你的问题,请参考以下文章