Linux
Linux
LLiinnuuxx服务器性能测试及分析命令大全
“不积其跬步,无以至千里。” ——技术!
“文章至天成,妙手偶得之。” ——文学!
摘取天上星,一个热爱互联网艺术的人!
性能测试及分析::::
Linux 系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测
工
具来判断究竟是哪一部分(内存、CPU、硬盘……)出了问题。在 Linux 系统中,所有的
运行
参数保存在虚拟目录/proc 中,换句话说,我们使用的性能监控工具取到的数据值实际上
就
是源自于这个目录,当涉及到系统高估时,我们就可以修改/proc 目录中的相关参数了,
当
然有些是不能乱改的。下面就让我们了解一下这些常用的性能监控工具。
工具 功能描述
uptime 系统平均负载率
dmesg 硬件/系统信息
top 进程进行状态
iostat CPU 和磁盘平均使用率
vmstat 系统运行状态
sar 实时收集系统使用状态
KDE System Guard 图形监控工具
free 内存使用率
traffic-vis 网络监控(只有 SUSE有)
pmap 进程内存占用率
strace 追踪程序运行状态
ulimit 系统资源使用限制
mpstat 多处理器使用率
top free ps uptime atop slabtop vmstat w pmap utmp
linux
linux
lliinnuuxx 服务器性能检测与分析
Version Date Author Description
Version Date Author Description
VVeerrssiioonn DDaattee AAuutthhoorr DDeessccrriippttiioonn
1.0 2011/5/26 dengwu@初稿
1.1 2011/6/23 dengwu@添加CPU分析
1.2 2012/2/20 dengwu@添加MEM,IO分析
1.3 2012/2/23 dengwu@更新工作原理
1.4 2012/2/25 dengwu@添加中断分析
1.5 2012/2/28 dengwu@添加网络分析
1 性能测试简介
l 性能测试的过程就是找到系统瓶颈的过程。
l 性能测试(包括分析和调优)的过程就是在操作系统的各个子系统之间取得平衡的过程。
l 操作系统的各个子系统包括:
Ø CPU
Ø Memory
Ø IO
Ø Network
他们之间高度依赖,互相影响。比如:
1. 频繁的磁盘读写会增加对内存的使用
2. 大量的网络吞吐,一定意味着非常可观的CPU利用率
3. 可用内存的减少可能增加大量的swapping,从而使系统负载上升甚至崩溃
2 应用程序类型
性能测试之前,你首先需要判断你的应用程序是属于那种类型的,这可以帮助你判断哪个子
系统可能会成为瓶颈。
通常可分为如下两种:
CPU bound – 这类程序,cpu往往会处于很高的负载,当系统压力上升时,相对于磁盘和
内存,往往CPU首先到达瓶颈。Web server,mail server以及大部分服务类程序都属于这
一类。
I/O bound – 这类程序,往往会频繁的访问磁盘,从而发送大量的IO请求。IO类应用程
序往往利用cpu发送IO请求之后,便进入sleep状态,从而造成很高的IOWAIT。数据库类
程序,cache服务器往往属于这种类型。
3 CPU
性能瓶颈
性能瓶颈
3.1 性性能能瓶瓶颈颈
3.1.1 运算性能瓶颈
作为计算机的计算单元,其运算能力方面,可能出现如下瓶