从以下几点:
1 CPU
2 内存
3 磁盘
4 网络
5 权限和二进制
=======================================================================================
常用系统命令
Vmstat、sar、iostat、netstat、free、ps、top等
常用组合
vmstat、sar、mpstat检测是否存在CPU瓶颈
vmstat、free检测是否存在内存瓶颈
iostat检测是否存在磁盘I/O瓶颈
netstat检测是否存在网络I/O瓶颈
=======================================================================================
整体性能评估
Top
1 linux系统当前时间
2 从开机到目前运行了多久,
3 当前有几个用户连接到本台主机
4 Load average负载均衡,当三个值相加后除以3结果大于0.6表示需要注意服务器负担。
这里需要注意的是:load average这个输出值,这三个值分别为:1分钟平均负载、5分钟平均负载、15 分钟平均负载,大小一般不能大于系统CPU的个数。
假设,本输出中系统有8个CPU,如果load average的三个值长期大于8时,说明CPU很繁忙,负载很高,可能会影响系统性能,
但是偶尔大于8时,倒不用担心,一般不会影响系统性能。相反,如果load average的输出值小于CPU的个数,则表示CPU还有空闲的时间片,比如本例中的输出,CPU是非常空闲的。
5 Cpu使用率
6 99.8%id,该id是system idle process=处理器空闲时间百分比,越大越好
7 Swap,交换分区的值
8 按数字键1,看自己的cpu
9 Q退出top
Uptime
是top的精简版
=======================================================================================
CPU
vmstat -n 2 3
每隔两秒采样一次,总共采样3次
- Procs
r 列表示运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说 明CPU不足,需要增加CPU。
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。
- cpu
us列显示了用户进程消耗的CPU 时间百分比。us的值比较高时说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。
sy列显示了内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。根据经验,us+sy的参考值为80%,如果us+sy大于 80%说明可能存在CPU资源不足。
us+sy 相加不要超过80%
=======================================================================================
内存
用free –m
m:兆
- 一般有这样一个经验公式:应用程序可用内存/系统物理内存>70%时,表示系统内存资源非常充足,不影响系统性能,应用程序可用内存/系统物理内存<20%时,表示系统内存资源紧缺,需要增加系统内存,20%<应用程序可用内存/系统物理内存<70%时,表示系统内存资源基本能满足应用需求,暂时不影响系统性能。
=======================================================================================
硬盘
df -h
=======================================================================================
IO
iostat –d 2 3
d数据采样率
Blk_read/s表示每秒读取的数据块数。
Blk_wrtn/s表示每秒写入的数据块数。
Blk_read表示读取的所有块数。
Blk_wrtn表示写入的所有块数。
可以通过Blk_read/s和Blk_wrtn/s的值对磁盘的读写性能有一个基本的了解,如果Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序,如果Blk_read/s值很大,表示磁盘直接读取操作很多,可以将读取的数据放入内存中进行操作。对于这两个选项的值没有一个固定的大小,根据系统应用的不同,会有不同的值,但是有一个规则还是可以遵循的:长期的、超大的数据读写,肯定是不正常的,这种情况一定会影响系统性能。
=======================================================================================
网络性能评估:
(1)通过ping命令检测网络的连通性
(2)通过netstat –i组合检测网络接口状况
(3)通过netstat –r组合检测系统的路由表信息