日期:2014-05-16 浏览次数:20887 次
一、服务器性能因素???
?
?1、CPU 2、内存? 3、磁盘I/O带宽? 4、网络I/O带宽
?
Load:
系统负载指运行队列的平均长度,也就是等待CPU的平均进程数。Load越高说明系统响应越慢,如果load是0,代表进程不需要等待,立刻就能获得cpu运行。可以通过查询文件/proc/loadavg获取系统在前一分钟、前五分钟和前十五分钟的平均负载以及当前运行的进程、系统的进程数和上一次调度运行的进程。
justin@junjun:/proc$ cat/proc/loadavg
0.71 0.70 0.63 1/403 5111
在linux系统中,也可直接通过命令行 “w”或者“uptime”查看,如下:
16:10:22 up 1 day,?4:18,? 3 users,? load average: 0.34, 0.50, 0.52
USER???? TTY????? FROM??????? ??????LOGIN@??IDLE?? JCPU?? PCPU WHAT
justin?? tty7???? :0?????????????? Tue11?? 28:19m 10:15?? 0.22s gnome-session
justin?? pts/0??? :0.0???????????? Tue11?? 28:17m?2:22?? 0.00s /bin/bash./jettyctl.sh
justin?? pts/1??? :0.0???????????? 16:08??? 0.00s?0.17s? 0.00s w
?
cpu usage:
系统的CPU使用率。
可以用“top”命令动态的显示当前系统进程用户的使用情况。
?
前五行是系统整体的统计信息。
第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:当前时间;系统运行时间,格式为时:分;当前登录用户数;系统负载,即任务队列的平均长度。
第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。
内容如下:Tasks: 175 total进程总数;1 running正在运行的进程数;174 sleeping睡眠的进程数;0 stopped停止的进程数;0 zombie僵尸进程数
Cpu(s):22.0% us用户空间占用CPU百分比
20.7%sy内核空间占用CPU百分比
1.1%ni用户进程空间内改变过优先级的进程占用CPU百分比
52.7%id空闲CPU百分比
3.3%wa等待输入输出的CPU时间百分比
0.0%hi
0.2%si swap in,表示虚拟内存的页导入,即从SWAPDISK交换到RAM
0.0%st swap out,表示虚拟内存的页导出,即从RAM交换到SWAPDISK。
?
PR:操作系统给进程的安排的优先级。这个值标示进程调度器分配给进程的时间片长度。单位是时钟个数。如果一个Linux系统的时间片是10ms,那么PID是2718的进程在执行了200ms后,才会进行进程切换。?
RES:进程占用的物理内存大小?????????????
VIRT:物理内存+虚拟内存。
????????????????????????????????????????????????????????????????????????
吞吐率:
服务器单位时间内处理的请求数,一般用来描述并发能力,当然谈吞吐率的前提是并发用户数。不同的并发用户数下,吞吐率自然大不相同。单位是“请求数 /秒”。吞吐量分为网络吞吐量和事务吞吐量,当作为事务吞吐量时,采用TPS来衡量。目前线上环境Apache没有mod_status模块,不能很方便的查询。
?
TPS:
服务器每秒处理的事务数。PV在性能测试中的表现形式是以TPS来体现的,两者有一个转换公式,如下:
TPS平均值 =((PV*80%)/(24*60*60*40%))/服务器数量 =? pv/s
TPS峰值 =(((PV*80%)/(24*60*60*40%))*1.6) /服务器数量=? pv/s ,这个和我们经常说的“2-8原则”贴近。
?
二、系统性能评估参考标准
影响性能因素 |
评判标准 |
||
好 |
坏 |
糟糕 |
|
CPU |
user% + sys%< 70% |
user% + sys%= 85% |
user% + sys% >=90% |
内存 |
Swap In(si)=0 Swap Out(so)=0 |
Per CPU with 10 page/s |
More Swap In & Swap Out |
磁盘 |
iowait % < 20% |
iowait % =35% |
iowait % >= 50% ? |
?
?
三、性能分析工具和命令
?
1.常用系统命令
vmstat、sar、iostat、netstat、free、ps、top等
?
2.常用组合方式
??????????? 用vmstat、sar、iostat检测是否是CPU瓶颈
??????????? 用free、vmstat检测是否是内存瓶颈
??????????? 用iostat检测是否是磁盘I/O瓶颈
??????????? 用netstat检测是否是网络带宽瓶颈
?
3、用工具进行分析
?
?? Vmstat
?
列表含义:
Procs
???? r:运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU。
???? b:在等待资源的进程数,比如正在等待I/O、或者内存交换等。
Memory
???? swpd: 虚拟内存使用情况,单位:KB
???? free: 空闲的内存,单位KB
???? buff: 被用来做为缓存的内存数,一般对块设备的读写才需要缓冲,单位:KB
???? cache:表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached,如果cache值较大,说明cached的文件数较多,如果此时IO中bi比较小,说明文件系统效率比较好。
Swap
???? si: 从磁盘交换到内存的交换页数量,单位:KB/秒
?
???? so: 从内存交换到磁盘的交换页数量,单位:KB/秒