Linux性能调优及监控

如何评估系统系统性能

总体来说,系统性能就是两个事:

    1. Throughput ,吞吐量。也就是每秒钟可以处理的请求数,任务数。
    2. Latency, 系统延迟。也就是系统在处理一个请求或一个任务时的延迟。

一般来说,一个系统的性能受到这两个条件的约束,缺一不可。比如,我的系统可以顶得住一百万的并发,但是系统的延迟是2分钟以上,那么,这个一百万的负载毫无意义。系统延迟很短,但是吞吐量很低,同样没有意义。所以,一个好的系统的性能测试必然受到这两个条件的同时作用。 有经验的朋友一定知道,这两个东西的一些关系:

    • Throughput越大,Latency会越差。因为请求量过大,系统太繁忙,所以响应速度自然会低。
    • Latency越好,能支持的Throughput就会越高。因为Latency短说明处理速度快,于是就可以处理更多的请求。

监控系统负载

 vmstat监视内存使用情况 

  vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。 

  vmstat的语法如下: 

  vmstat [-V] [-n] [delay [count]] 

  其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。 

 

 iostat监视I/O子系统情况 

  iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 

  iostat的语法如下: 

iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ] 

  其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。 

  iostat一般的输出格式如下: 

Linux 2.4.18-18smp (builder.linux.com) 2003年03月07日 

avg-cpu: %user %nice %sys %idle 

4.81 0.01 1.03 94.15 

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn 

dev3-0 30.31 1117.68 846.52 16104536 12197374 

dev3-1 7.06 229.61 40.40 3308486 582080 


 sar进行综合分析 

  选项 功能 

  -A 汇总所有的报告 

  -a 报告文件读写使用情况 

  -B 报告附加的缓存的使用情况 

  -b 报告缓存的使用情况 

  -c 报告系统调用的使用情况 

  -d 报告磁盘的使用情况 

  -g 报告串口的使用情况 

  -h 报告关于buffer使用的统计数据 

  -m 报告IPC消息队列和信号量的使用情况 

  -n 报告命名cache的使用情况 

  -p 报告调页活动的使用情况 

  -q 报告运行队列和交换队列的平均长度 

  -R 报告进程的活动情况 

  -r 报告没有使用的内存页面和硬盘块 

  -u 报告CPU的利用率 

  -v 报告进程、i节点、文件和锁表状态 

  -w 报告系统交换活动状况 

  -y 报告TTY设备活动状况 

  sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。

  sar的语法如下: 

sar [-option] [-o file] t [n] 

  它的含义是每隔t秒取样一次,共取样n次。其中-o file表示取样结果将以二进制形式存入文件file中。 

  另一种语法如下: 

sar [-option] [-s time] [-e time] [-i sec] [-f file] 

  含义是表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前天。另外,-s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据。对于具体的选项参见表1。 

  一般它与-q和-u联合使用,以便对每个CPU的使用情况进行分析,比如运行如下命令: 

sar -q -u 5 1 

将输出如下: 

Linux 2.4.18-18smp (builder.linux.com) 2003年03月07日

09时46分16? CPU %user %nice %system %idle 

09时46分21? all 0.20 0.00 0.00 99.80 

09时46分16? runq-sz plist-sz ldavg-1 ldavg-5 

09时46分21? 0 91 0.00 0.00 

Average: CPU %user %nice %system %idle 

Average: all 0.20 0.00 0.00 99.80 

Average: runq-sz plist-sz ldavg-1 ldavg-5 

Average: 0 91 0.00 0.00 

  由于sar命令太复杂,只有通过熟练使用才能了解每个选项的含义,对于sar输出中每个字段的含义运行man sar命令可以得到详细的解释。


还有top、free、ps、time、timex、uptime等


Linux调优索引


性能调优攻略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值