《软件测试技术实战 设计、工具及管理》联载-22

简介: 《软件测试技术实战 设计、工具及管理》联载-22

5.1.4  性能计数器


性能计数器是反映系统性能的重要参考指标。如何通过查看这些计数器来观察系统性能是需要通过平时积累的。本节仅列出常用的5类计数器(关于IISSQLServerMySQL计数器请参看本篇附录D)。如何使用这些计数器,是一个非常复杂,而且有一定深度的问题,本书中不做详细介绍,读者若有兴趣,可以购买相关的书籍或者查阅相关的网站。


1Windows计数器

Windows计数器见表5-1


5-1                                             Windows计数器

对象

计数器

分析

processor

%processor time

建议阈值85%

memory

Available bytes

建议阈值少于4MB需要添加内存

另外,又建议至少要有10%的物理内存值

Pages reads/sec

Pages Read/sec是指为解析硬页错误而读取磁盘的次数,如果该值一直持续较大,表明可能内存不足

建议阈值30(或5),大数值表示磁盘读,而不是缓存读

Pages writes/sec

Page Writes/sec是指为了释放物理内存空间而将页写入磁盘的次数

Pages Input/sec

Pages Input/sec是指为解决页错误而从磁盘上读取的页数

Pages Output/sec

Pages Output/sec是指为了释放物理内存空间而写入磁盘的页数

如果该值远远大于Pages Input/sec,可能有内存泄漏

Pages/sec

Pages/sec是指为解析硬页错误而从磁盘读取或写入磁盘的页数

建议阈值为20

Network interface

(对于TCP/IP

Bytes  received/sec

该数据结合Bytes total/sec参看

Bytes sent/sec

该数据结合Bytes total/sec参看

Bytes total/sec

推荐不要超过带宽的50%

Packets/sec

根据实际数据量大小,无建议阈值,该数据结合Bytes total/sec参看

Physical disk

Disk reads/sec

取决于硬盘制造商的规格,检查磁盘的指定传送速度,以验证此速度没有超出规格

Disk writes/sec

取决于硬盘制造商的规格,检查磁盘的指定传送速度,以验证此速度没有超出规格;[J1] 

以上两值相加应小于磁盘设备的最大容量

%Disk Time

建议阈值为90%

Current disk  queue length

Avg. disk queue  length(如果使用RAID设备,%Disk Time计数器显示的值可以大于100%。如果大于100%,则使用Avg. disk queuelength计数器决定正在等待磁盘访问的系统请求的平均数

不超过磁盘数的1.52

如果以上两值始终较高,可以考虑升级磁盘驱动器或将某些文件移动到其他磁盘或服务器

 

Windows下,可以通过“开始菜单->控制面板->管理工具->性能”查看计数器,如图5-3所示。

image.png

5-3  Windows下查看计数器


Windows中我们主要关注以下几个计数器:


(一)对于内存:

  •  Available Bytes:计算机可用于运行有效处理的有效物理内存。应该不少于4M,如果低于或者pages/second,持续处于峰值,考虑物理内存不够。
  •  Memory pages/second:解决硬页错误读取或写入磁盘的速度,应该保持或者接近0
  •  Page Faults/sec:每秒出错页面的的平均数量。


(二)对于磁盘:

  •  %Disk Time:所选磁盘驱动器在忙于读写请求服务所用的时间百分比。正常值<10%
  •  Average Disk Queue Length:读取和写入请求的平均队列数,正常值<0.5
  •  Average Disk Second/Read:秒计算在此盘上读取的平均时间。
  •  Average Disk Second/Write:秒计算在此盘上写入的平均时间。


(三)对于CPU

  •  %Processor Time:处理器用来执行非闲置线程时间的百分比,持续>80%就存在问题了。
  •  %User Time:处理器处于用户模式的时间百分比(应用程序、环境分系统、整数分系统)占整个Processor Time很大,应用程序就出现问题了。
  •  %Privileged Time:处理器处于特权模式的时间百分比(调用Windows系统服务)。


2Linux计数器

Linux计数器主要如下。

  •  Collision rate:在以太网上侦察到的每秒冲突数。
  •  Context switches rate:每秒进程或线程之间的切换数。
  •  CPU utilizationCPU使用时间的百分比。
  •  Disk rate磁盘传输的速率。
  •  Incoming packets errorrate接受以太网包每秒的错误。
  •  Incoming packets rate每秒接受的以太网包。
  •  Interrupt rate每秒设备的中断次数。
  •  Outgoing packets errorrate发送以太网包每秒的错误。
  •  Outgoing packets rate每秒发送的以太网包。
  •  Page in rate每秒读到物理内存的页数。
  •  Page out rate每秒写到页面文件和从物理内存移动的页数。
  • Paging rate每秒读到物理内存或者写到页面文件的页数。
  •  Swap in rate交换的进程数。
  •  Swap out rate交换的进程数。
  • System mode CPUutilization系统模式下CPU使用时间的百分比。
  •  User mode CPUutilization用户模式下CPU使用时间的百分比。


Linux中,除了采用计数器以外,我们还可以通过运行一些命令来分析系统性能。


(一)对于CPU

1>vmstatinterval count

其中:interval为多长时间输出一次,count为次数。

如图5-4所示,其中:


image.png

5-4 vmstat命令


  •  r:可运行的内核线程平均数。
  •  b:每秒VMM等待队列的核心线程平均数。
  •  in:在某一段时间间隔中观察到的每秒设备中断数。
  • cs:在某一段时间间隔中观察到的每秒上下文切换数。
  •  us:用户方式下花费的百分比。
  •  syCPU在系统方式下执行一个进程花费的百分比。
  •  id:没有使用本地磁盘I/OCPU空闲或等待时间百分比。
  • wa:详细显示了暂时挂在本地磁盘I/ONFS加载的磁盘的CPU百分比。

2>ps -ef

如图5-5所示,其中C列显示最近CPU显示情况。


image.png

5-5  ps -ef命令


3>ps -au

如图5-6所示,其中%CPU列显示自从进程启动以来,分配给进程的百分比等于进程CPU时间/进程持续时间×100%


image.png

5-6  ps -au命令


4>top命令

如图5-7所示,显示实时运行情况。


image.png

5-7  top命令


(二)对于内存:

1>vmstat interval count

其中:

interval:执行次数,count:每次显示次数。

如图5-8所示,其中:


image.png

5-8 vmstat interval count命令


  •  si:自上次取样以来从磁盘交换出来的比特数。
  •  so:自上次取样以来交换到磁盘的比特数。


2>vmstat -s

如图5-9所示,获得系统摘要信息。


3>procinfo

如图5-10所示,显示物理内存与swap交换区的详细信息

 

image.png

5-9  vmstat -s命令                                

image.png

5-10  procinfo命令


顾翔凡言:

敏捷具有适用性,即使用了敏捷,也不要做成假敏捷,掌握敏捷的真谛。

目录
相关文章
|
缓存 测试技术 人机交互
《软件测试技术实战 设计、工具及管理》联载-15
《软件测试技术实战 设计、工具及管理》联载-15
78 0
《软件测试技术实战 设计、工具及管理》联载-15
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-8
《软件测试技术实战 设计、工具及管理》联载-8
93 0
《软件测试技术实战 设计、工具及管理》联载-8
|
传感器 编解码 测试技术
《软件测试技术实战 设计、工具及管理》联载-37
《软件测试技术实战 设计、工具及管理》联载-37
81 0
《软件测试技术实战 设计、工具及管理》联载-37
|
测试技术 程序员 Linux
《软件测试技术实战 设计、工具及管理》联载-3
《软件测试技术实战 设计、工具及管理》联载-3
89 0
《软件测试技术实战 设计、工具及管理》联载-3
|
监控 Oracle 关系型数据库
软件测试技术实战 设计、工具及管理》联载-34
软件测试技术实战 设计、工具及管理》联载-34
80 0
软件测试技术实战 设计、工具及管理》联载-34
|
测试技术 数据库 数据安全/隐私保护
《软件测试技术实战 设计、工具及管理》联载-38
《软件测试技术实战 设计、工具及管理》联载-38
69 0
《软件测试技术实战 设计、工具及管理》联载-38
|
Web App开发 测试技术 Linux
《软件测试技术实战 设计、工具及管理》联载-9
《软件测试技术实战 设计、工具及管理》联载-9
127 0
《软件测试技术实战 设计、工具及管理》联载-9
|
测试技术
软件测试技术实战 设计、工具及管理》联载-56
软件测试技术实战 设计、工具及管理》联载-56
63 0
软件测试技术实战 设计、工具及管理》联载-56
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-7
《软件测试技术实战 设计、工具及管理》联载-7
135 0
《软件测试技术实战 设计、工具及管理》联载-7
|
测试技术
《软件测试技术实战 设计、工具及管理》联载-10
《软件测试技术实战 设计、工具及管理》联载-10
98 0
《软件测试技术实战 设计、工具及管理》联载-10