对于本篇博文的学习目的理解,我出这样一个题:
访问nginx发布的网站,发现访问响应很慢,我们应该怎样去排查问题呢?
其中有些命令的展示参数需要看懂
,请见:https://www.cnblogs.com/passzhang/articles/8592864.html
一、一般Linux系统当前性能状况从如下五个方面进行分析:
1、CPU
top
us+sy值小于70,说明系统处于正常状态,大于70小于80为繁忙,大于80就需要注意了。
PR和NI的区别:https://www.cnblogs.com/lcword/p/8267342.html
2、内存
free -m
当swap交换分区被大量使用时,说明内存已不足!
swap交换分区,实际就是把磁盘容量划来一部分充当内存,读写性能很低下。当然你可以采用固态硬盘!
3、负载
yum install procps -y
uptime
top
负载:三个值,分别是1分钟、5分钟、15分钟中的平均负载
一般来说负载大小只要不超过逻辑CPU个数的两倍即可。
4、磁盘
df -hT
看看磁盘是否满了!
5、磁盘IO读写性能
yum install sysstat -y
iostat
KB_read/s 表示每秒读取的数据块数;
KB_wrtn/s 表示每秒写入的数据块数;
KB_read 表示读取的所有块数;
KB_wrtn 表示写入的所有块数。
#同时sar命令也可以看磁盘IO读写性能
sar -d 1 10
await表示平均每次设备I/O操作的等待时间(以毫秒为单位);
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位);
%util表示一秒中有百分之几的时间用于I/O操作;
%util项的值是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。
6、网络带宽
yum install epel-release -y
yum install iftop -y
iftop -i ens33
TX 发送流量;
RX 接收流量;
TOTAL 总流量;
cum 运行iftop到目前时间的总流量;
peak 流量峰值;
rates 分别表示过去 2s 10s 40s 的平均流量。
#ab压测看ens33接口带宽
ab -n 100000 -c 1000 http://172.16.193.201/
平常我们说的百兆带宽的速率为:100除以8=12.5Mb/s