Linux 性能测试与分析

Linux 性能测试与分析

ID:42563288

大小:2.02 MB

页数:22页

时间:2019-09-17

Linux 性能测试与分析_第1页
Linux 性能测试与分析_第2页
Linux 性能测试与分析_第3页
Linux 性能测试与分析_第4页
Linux 性能测试与分析_第5页
资源描述:

《Linux 性能测试与分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux 性能测试与分析Linux性能测试与分析RevisionHistoryVersionDateAuthorDescription1.02011/5/26dengwu@taobao.com初稿1.12011/6/23dengwu@taobao.com添加CPU分析1.22012/2/20dengwu@taobao.com添加MEM,IO分析1.32012/2/23dengwu@taobao.com更新工作原理1.42012/2/25dengwu@taobao.com添加中断分析1.52012/2/28dengwu@taobao.com添加网络

2、分析1         性能测试简介l  性能测试的过程就是找到系统瓶颈的过程。   l  性能测试(包括分析和调优)的过程就是在操作系统的各个子系统之间取得平衡的过程。l  操作系统的各个子系统包括:Ø  CPUØ  MemoryØ  IOØ  Network 他们之间高度依赖,互相影响。比如:1.      频繁的磁盘读写会增加对内存的使用2.      大量的网络吞吐,一定意味着非常可观的CPU利用率3.      可用内存的减少可能增加大量的swapping,从而使系统负载上升甚至崩溃2         应用程序类型性能测试之前,你首先需要

3、判断你的应用程序是属于那种类型的,这可以帮助你判断哪个子系统可能会成为瓶颈。 通常可分为如下两种: CPUbound– 这类程序,cpu往往会处于很高的负载,当系统压力上升时,相对于磁盘和内存,往往CPU首先到达瓶颈。Webserver,mailserver以及大部分服务类程序都属于这一类。 I/Obound– 这类程序,往往会频繁的访问磁盘,从而发送大量的IO请求。IO类应用程序往往利用cpu发送IO请求之后,便进入sleep状态,从而造成很高的IOWAIT。数据库类程序,cache服务器往往属于这种类型。3         CPU 3.1   

4、   性能瓶颈3.1.1        运算性能瓶颈作为计算机的计算单元,其运算能力方面,可能出现如下瓶颈: 1.  用户态进程CPU占用率很高2.  系统态(内核态)CPU占用率很高 测试CPU的运算性能,通常是通过计算圆周率来测试CPU的浮点运算能力和稳定性。据说PentiumCPU的一个运算bug就是通过计算圆周率来发现的。圆周率的计算方法,通常是计算小数点后104万位,通过比较运算时间来评测CPU的运算能力。 常用工具:1.        SUPERPI(π)2.        Wprime  与SuperPI不同的是,可以支持多核CPU的

5、运算速度测试3.        FritzChess  一款国际象棋测试软件,测试每秒钟可运算的步数 突破CPU的运算瓶颈,一般只能靠花钱。比如提高时钟频率,提高L1,L2cache容量或不断追求新一代的CPU架构: Core ->  Nehalem(E55x,如r710,dsc1100) -> Westmere –>  SandyBridge3.1.2        调度性能瓶颈CPU除了负责计算之外,另一个非常重要的功能就是调度。在调度方面,CPU可能会出现如下性能瓶颈: 1.      Load平均值超过了系统可承受的程度2.      IO

6、Wait占比过高,导致Load上升或是引入新的磁盘瓶颈3.      ContextSwitch过高,导致CPU就像个搬运工一样,频繁在寄存器(CPURegister)和运行队列(runqueue)之间奔波4.      硬中断CPU占比接近于100%5.      软中断CPU占比接近于100% 超线程超线程芯片可以使得当前线程在访问内存的间隙,处理器可以使用它的机器周期去执行另外一个线程。一个超线程的物理CPU可以被kernel看作是两个独立的CPU。 3.2      典型监控参数图1:top图2:mpstat 3.2.1        参数

7、含义Ø  LoadLoad是指CPU所有内核正在处理的任务加上处于运行队列中的进程数之和。 处于运行队列(runqueue)中的进程包括TASK_RUNNING和TASK_UNINTERRUPTIBLE两种状态的任务:Ø  处于可运行状态的进程Ø  等待不可中断任务的进程 在一个双核的系统中,如果两个进程正在执行,有四个进程处于runquque当中,那么load就是6 Vmstat中r指的就是runqueue中的进程数目 对比一下同一时刻top统计出来的load Ø  Nice%用户进程空间内,通过调用nice或setpriority系统调用改变过

8、优先级的进程的CPU占用率Ø  Iowait%CPU等待IO操作的时间Ø  Idle%CPU空闲时间Ø  Intr/s每秒

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。