%util:设备利用率。这个数值表示设备的繁忙程度,经验值是如果超过60,可能会影响IO性能(可以参照IO操作平均等待时间)。如果到达100%,说明硬件设备已经饱和。
如果显示的是逻辑设备的数据,那么设备利用率不代表后端实际的硬件设备已经饱和。值得注意的是,即使IO性能不理想,也不一定意味这应用程序性能会不好,可以利用诸如预读取、写缓存等策略提升应用性能。
free –m 命令
[root@Dev-Test-203 ~]# free -m total used free shared buff/cache available Mem: 3790 1620 197 211 1973 1633 Swap: 3967 31 3936free命令可以查看系统内存的使用情况,-m参数表示按照兆字节展示。最后两列分别表示用于IO缓存的内存数,和用于文件系统页缓存的内存数。需要注意的是,如果出现行-/+ buffers/cache,看上去缓存占用了大量内存空间。这是Linux系统的内存使用策略,尽可能的利用内存,如果应用程序需要内存,这部分内存会立即被回收并分配给应用程序。因此,这部分内存一般也被当成是可用内存。
如果可用内存非常少,系统可能会动用交换区(如果配置了的话),这样会增加IO开销(可以在iostat命令中提现),降低系统性能。
sar -n DEV 1 命令
[root@Dev-Test-203 ~]# sar -n DEV 1 Linux 3.10.0-514.6.1.el7.x86_64 (Dev-Test-203) 05/09/2017 _x86_64_ (4 CPU) 04:58:58 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 04:58:59 PM veth4e7f1d9f 4.00 4.00 0.98 3.39 0.00 0.00 0.00 04:58:59 PM veth36889dc3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM veth3d7a6375 7.00 8.00 0.48 0.65 0.00 0.00 0.00 04:58:59 PM veth5b95b0ac 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM vethbed2b08d 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM vethf6fc7307 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM enp4s0 48.00 34.00 9.72 4.64 0.00 0.00 0.00 04:58:59 PM enp6s0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM veth5c95e8a 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM vethd0c9b86 14.00 13.00 82.92 1.42 0.00 0.00 0.00 04:58:59 PM veth852aa04f 23.00 23.00 6.19 6.25 0.00 0.00 0.00 04:58:59 PM vethab289cc8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM docker_gwbridge 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:58:59 PM docker0 25.00 25.00 84.73 6.21 0.00 0.00 0.00sar命令在这里可以查看网络设备的吞吐率。在排查性能问题时,可以通过网络设备的吞吐量,判断网络设备是否已经饱和。
sar -n TCP,ETCP 1 命令
[root@Dev-Test-203 ~]# sar -n TCP,ETCP 1 Linux 3.10.0-514.6.1.el7.x86_64 (Dev-Test-203) 05/09/2017 _x86_64_ (4 CPU) 05:20:58 PM active/s passive/s iseg/s oseg/s 05:20:59 PM 2.00 0.00 32.00 38.00 05:20:58 PM atmptf/s estres/s retrans/s isegerr/s orsts/s 05:20:59 PM 0.00 0.00 0.00 0.00 0.00 05:20:59 PM active/s passive/s iseg/s oseg/s 05:21:00 PM 9.00 0.00 63.00 204.00 05:20:59 PM atmptf/s estres/s retrans/s isegerr/s orsts/s 05:21:00 PM 4.00 0.00 0.00 0.00 8.00 05:21:00 PM active/s passive/s iseg/s oseg/s 05:21:01 PM 0.00 0.00 12.00 13.00 05:21:00 PM atmptf/s estres/s retrans/s isegerr/s orsts/s 05:21:01 PM 0.00 0.00 0.00 0.00 0.00 05:21:01 PM active/s passive/s iseg/s oseg/s 05:21:02 PM 0.00 0.00 22.00 27.00 05:21:01 PM atmptf/s estres/s retrans/s isegerr/s orsts/s 05:21:02 PM 0.00 0.00 0.00 0.00 0.00sar命令在这里用于查看TCP连接状态,其中包括:
active/s:每秒本地发起的TCP连接数,既通过connect调用创建的TCP连接;
passive/s:每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接;
retrans/s:每秒TCP重传数量;
TCP连接数可以用来判断性能问题是否由于建立了过多的连接,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是因为网络环境恶劣,或者服务器压力过大导致丢包。
top命令
[root@Dev-Test-203 ~]# top top - 17:23:42 up 14 days, 50 min, 2 users, load average: 6.79, 2.41, 0.96 Tasks: 397 total, 1 running, 396 sleeping, 0 stopped, 0 zombie %Cpu(s): 9.9 us, 11.2 sy, 0.0 ni, 78.7 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st KiB Mem : 3881888 total, 203632 free, 1657044 used, 2021212 buff/cache KiB Swap: 4063228 total, 4030692 free, 32536 used. 1676340 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 24713 root 20 0 513752 157296 7476 S 7.0 4.1 100:58.55 cadvisor 11943 root 20 0 1086896 35264 9264 S 6.3 0.9 133:55.98 telegraf 9561 root 20 0 1097140 38020 9232 S 6.0 1.0 136:29.51 telegraf 19998 root 20 0 648876 30200 9456 S 4.3 0.8 96:42.35 telegraf 12940 root 20 0 2558440 92736 20692 S 3.0 2.4 53:01.38 dockerd 12948 root 20 0 1424740 19336 4492 S 2.7 0.5 14:51.40 docker-containe 27286 109 20 0 2253776 96864 3268 S 2.7 2.5 57:25.64 beam.smp 27733 polkitd 20 0 265736 75964 8556 S 2.0 2.0 35:29.90 daphne 11698 telegraf 20 0 497988 23824 9232 S 1.7 0.6 45:52.80 telegraf 4768 102 20 0 36996 3104 1348 S 1.0 0.1 4:20.36 redis-server 513 root 20 0 36820 5756 5468 S 0.7 0.1 16:51.69 systemd-journal 922 root 20 0 467664 7584 6496 S 0.7 0.2 15:57.66 rsyslogd 32741 root 20 0 157980 2576 1532 R 0.7 0.1 0:00.21 top 9 root 20 0 0 0 0 S 0.3 0.0 15:43.40 rcu_sched 586 106 20 0 38492 1656 388 S 0.3 0.0 0:00.01 haproxy 15710 root 20 0 142904 5140 3876 S 0.3 0.1 0:00.28 sshd