分析linux系统的运行性能,Linux系统的性能测试与性能分析

Linux系统的性能测试与性能分析

发表于:2012-12-03来源:一淘测试作者:若凌点击数:

Linux系统的性能测试与性能分析1 性能测试简介 性能测试的过程就是找到系统瓶颈的过程。 性能测试(包括分析和调优)的过程就是在操作系统的各个子系统之间取得平衡的过程。

Revision History

Version

Date

Author

Description

1.0

2011/5/26

dengwu@taobao.com

初稿

1.1

2011/6/23

dengwu@taobao.com

添加CPU分析

1.2

2012/2/20

dengwu@taobao.com

添加MEM,IO分析

1.3

2012/2/23

dengwu@taobao.com

更新工作原理

1.4

2012/2/25

dengwu@taobao.com

添加中断分析

1.5

2012/2/28

dengwu@taobao.com

添加网络分析

性能测试的过程就是找到系统瓶颈的过程。

性能测试(包括分析和调优)的过程就是在操作系统的各个子系统之间取得平衡的过程。

操作系统的各个子系统包括:

CPU

Memory

IO

Network

他们之间高度依赖,互相影响。比如:

1. 频繁的磁盘读写会增加对内存的使用

2. 大量的网络吞吐,一定意味着非常可观的CPU利用率

可用内存的减少可能增加大量的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 运算性能瓶颈

作为计算机的计算单元,其运算能力方面,可能出现如下瓶颈:

1. 用户态进程CPU占用率很高

2. 系统态(内核态)CPU占用率很高

测试CPU的运算性能,通常是通过计算圆周率来测试CPU的浮点运算能力和稳定性。据说Pentium CPU的一个运算bug就是通过计算圆周率来发现的。圆周率的计算方法,通常是计算小数点后104万位,通过比较运算时间来评测CPU的运算能力。

常用工具:

SUPER PI(π)

Wprime 与SuperPI不同的是,可以支持多核CPU的运算速度测试

FritzChess 一款国际象棋测试软件,测试每秒钟可运算的步数

突破CPU的运算瓶颈,一般只能靠花钱。比如提高时钟频率,提高L1,L2 cache容量或不断追求新一代的CPU架构:

Core -> Nehalem(E55x,如r710,dsc1100) -> Westmere –> Sandy Bridge

3.1.2 调度性能瓶颈

CPU除了负责计算之外,另一个非常重要的功能就是调度。在调度方面,CPU可能会出现如下性能瓶颈:

Load平均值超过了系统可承受的程度

IOWait占比过高,导致Load上升或是引入新的磁盘瓶颈

Context Switch过高,导致CPU就像个搬运工一样,频繁在寄存器(CPU Register)和运行队列(run queue)之间奔波

硬中断CPU占比接近于100%

软中断CPU占比接近于100%

超线程

超线程芯片可以使得当前线程在访问内存的间隙,处理器可以使用它的机器周期去执行另外一个线程。一个超线程的物理CPU可以被kernel看做是两个独立的CPU。

3.2 典型监控参数

3.2.1 参数含义

Load

Load是指CPU所有内核正在处理的任务加上处于等待队列中的进程数之和。

处于等待队列(run queue)中的进程包括TASK_RUNNING 和 TASK_UNINTERRUPTIBLE两种状态的任务:

? 处于可运行状态的进程

? 等待不可中断任务的进程

在一个双核的系统中,如果两个进程正在执行,有四个进程处于run quque当中,那么load就是6

Nice%

用户进程空间内,通过调用nice或setpriority系统调用改变过优先级的进程的CPU占用率

Iowait%

CPU等待IO操作的时间

Idle%

CPU空闲时间

Intr/s

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值