`

性能测试之系统性能指标

 
阅读更多

CPU

 

cpu属性的7个组成部分:

cpu的利用率   Cpu(s): 

0.0%us ---- 用户空间占用CPU百分比;  

0.0%sy ----  内核空间占用CPU百分比; 

 0.0%ni ---- 用户进程空间内改变过优先级的进程占用CPU百分比; 

 99.9%id ---- 空闲CPU百分比;  

0.0%wa ---- 等待输入输出的CPU时间百分比;

 0.0%hi,  0.0%si,  0.0%st ---- 不常用,不做介绍; 

 

 

 

Load Average ,这个很难衡量。网上搜了一圈,还没见到几个合理的解释。我100个并发用户测试数来这两个值是:77.534%,6.108,CPU利用率比较高,Load Average也好像有点高。后来发现了如下两片博文: 理解Load Average做好压力测试 ,“Load Average CPU Load,它所包含的信息不是 CPU的使用率状况,而是在一段时间内 CPU正在处理以及等待 CPU处理的进程数之和的统计信息,也就是 CPU使用队列的长度的统计信息。 ”,基本解释了multi-process,multi-thread程序的原理。理解Linux处理器的负载均值(翻译) ,简单说起来就一句话:

 

    Load Average < CPU个数 * 核数 *0.7

 

比如1个1核CPU,Load Average < 1 * 1 * 0.7;1个4核的CPU,Load Average必须 < 1 * 4 * 0.7 = 2.8。

 

 

CPU 利用率

CPU 利用率就是定义CPU 使用的百分比.评估系统最重要的一个度量方式就是CPU 的利用率.多数性能监控工具关于CPU 利用率的分类有以下几种:

  • User Time(译注:用户进程时间) - 关于在user space中被执行进程在CPU 开销时间百分比.

  • System Time(译注:内核线程以及中断时间) - 关于在kernel space中线程和中断在CPU 开销时间百分比.

  • Wait IO(译注:IO 请求等待时间) - 所有进程线程被阻塞等待完成一次IO 请求所占CPU 开销idle的时间百分比.

  • Idle(译注:空闲) - 一个完整空闲状态的进程在CPU 处理器中开销的时间百分比.

 

 

CPU 性能监控

理解运行队列,利用率,上下文切换对怎样CPU 性能最优化之间的关系.早期提及到,性能是相对于基准线数据的.在一些系统中,通常预期所达到的性能包括:

  • Run Queues - 每个处理器应该运行队列不超过1-3个线程.例子,一个双核处理器应该运行队列不要超过6 个线程。

  • CPU Utiliation - 如果一个CPU 被充分使用,利用率分类之间均衡的比例应该是:

    65% - 70% User Time
    30% - 35% System Time
    0% - 5%   Idle Time
  • Context Switches - 上下文切换的数目直接关系到CPU 的使用率,如果CPU 利用率保持在上述均衡状态时,大量的上下文切换是正常的.

 

 

 

  • 7个组成部分
  • load average

 

 

 

内存

【第四行】----物理内存的使用情况  Mem:   5242880k total ---- 物理内存的总量;    4403900k used ---- 已经使用的物理内存的总理;    838980k free ---- 空闲内存总量;    285712k buffers  ---- 用作内核缓存的内存量 
【第五行】 ---- 交换区的使用情况  Swap:  2097144k total ---- 交换区的总量;    112k used ---- 已经使用的交换区的量;    2097032k free ---- 空闲交换区的量;    3127936k cached ---- 缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数据即为这些内容已经存在于内存中的交换区的大小。相应的内存再次被换出时不必再对交换区写入。 

 

 

IO

 

 

 

 

网络带宽

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics