如何在Windows服务器做性能测试

2025-04-07 21:02:05
推荐回答(1个)
回答1:

一、远程连接到Windows服务器,使用windows系统自带工具进行收集性能数据

1、Windows服务器中自带的性能监控工具叫做Performance Monitor,在开始-运行中输入‘Perfmon.msc’,然后回车即可运行。通过界面,控制面板\所有控制面板项\管理工具\性能监视器也能打开

打开后,页面展示

 

2、添加计数器

性能>数据收集器集>用户定义[右击]>新增‘数据收集器集’>手动创建高级>下一步

 

勾选创建数据日志>性能计数器>【下一步】

 

点击“添加”→选择计数器

点击选中的可用计数器>【添加】>【确定】

【确定】>【下一步】

选择目录后,点击【完成】

查看新增的计数器,输出地方为日志输出地址

 

3、选择日志数据源格式

选择用户定义下的数据收集器集>右键属性>性能计数器,日志格式选择“逗号分隔”(即csv格式)

 

 

4、开始启动数据采集,选择用户定义下的数据收集器集>右键属性>开始

此时,输出有地址了

 

5、用EXCEL将数据转换为折线图,并分析性能情况

 

二、分析性能情况

(1)内存泄露判断

●虚拟内存字节数(VirtualBytes)应该远大于工作集字节数(Workingset),如果两者变化规律相反,比如说工作集增长较快,虚拟内存增长较少,则可能说明出现了内存泄露的情况。

●对于Workingset、Private Bytes、Available bytes这些计数器,如果在测试期间内数值持续增长,而且测试停止后位置在高水平,则也说明存在内存泄露。

●Windows资源监控中,如果Process\PrivateBytes计数器和Process\WorkingSet计数器的值在长时间内持续升高,同时Memory\Available

bytes计数器的值持续降低,则很可能存在内存泄漏。

(2)CPU使用情况

●一般平均不要超过70%,最大不要超过90%(好:70% 、坏:85%、 很差:90%)

(3)tps(每秒处理事务的数量,在SOAPUI中进行统计)

●一般在10-100,不同应用程序具体值不同

 

1234567891011121314151617

   

几个常用参数的参考值: CPU:% Processor Time:表示CPU的使用率,如果值大于80表示CPU的处理调度能力偏低。 硬盘:% Disk Time:表示硬盘的I/O操作的频率(繁忙时间),如果值大于80表示硬盘I/O调度能力偏低。Average Disk QueueLength:表示硬盘I/O操作等待队列的长度,如果值大于2表示硬盘I/O调度能力偏低。 内存 Pages/Sec:表示系统对虚拟内存每秒钟的访问次数,如果值大于20表示有内存方面的问题。(有可能是物理内存偏低,也有可能是虚拟内存没有配置正确。一般情况下虚拟内存应为物理内存的1.5-2倍) Committed Bytes and Available Bytes:Committed Bytes表示虚拟内存的大小,Available Bytes表示剩余可用内存的大小。正常情况下,Available Bytes减少,pages(页面数)应该增加,提供页面交换。
如果Available Bytes的值很小表示物理内存偏低。当关闭一些应用以后,Committed Bytes应该减少,Available Bytes应该增加。因为关闭的进程释放了之前占用的内存资源。如果相应的值没有发生变化,那么该进程就可能造成了内存泄漏。
 Cache Bytes:表示系统缓存的大小。如果值大于4M表示物理内存偏低。

   

  

三、关于计数器的选择

perfmon的计数器主要分四种:处理器性能计数器、内存性能计数器、磁盘性能计数器以及网络性能计数器。

以下为监控服务器常用的计数器:

常用的性能对象与指标

   

性能对象

   

计数器

   

提供的信息

   

Processor

   

% Idle Time

   

% Idle Time 是处理器在采样期间空闲的时间的百分比

   

Processor

   

% Processor Time

   

% Processor Time 指处理器用来执行非闲置线程时间的百分比。计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。这个计数器是处理器活动的主要说明器,显示在范例间隔时所观察的繁忙时间平均百分比。

   

Processor

   

% User Time

   

% User Time 指处理器处于用户模式的时间百分比。用户模式是为应用程序、环境分系统和整数分系统设计的有限处理模式。

   

Memory

   

Available Bytes

   

Available Bytes显示出当前空闲的物理内存总量。当这个数值变小时,Windows开始频繁地调用磁盘页面文件。如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上。

   

Memory

   

% Committed Bytes in Use

   

% Committed Bytes In Use 是 Memory: Committed Bytes 与Memory: Commit Limit之间的比值。(Committed memory指如果需要写入磁盘时已在分页文件中保留空间的处于使用中的物理内存。Commit Limit是由分页文件的大小而决定的。如果扩大了分页文件,该比例就会减小)。这个计数器只显示当前百分比;而不是一个平均值。

   

Memory

   

Page Faults/sec

   

Page Faults/sec是指处理器处理错误页的综合速率。用错误页数/秒来计算。当处理器请求一个不在其工作集(在物理内存中的空间)内的代码或数据时出现的页错误。这个计数器包括硬错误(那些需要磁盘访问的)和软错误(在物理内存的其它地方找到的错误页)。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。这个计数器显示用上两个实例中观察到的值之间的差除以实例间隔的持续时间所得的值。

   

Network Interface

   

Bytes Total/sec

   

Bytes Total/sec是发送和接收字节的速率,包括帧字符在内。

   

Network Interface

   

Packets/sec

   

Packets/sec为发送和接收数据包的速率。

   

Physical Disk

   

% Busy Time

   

% Busy Time指磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。

   

Physical Disk

   

Avg. Disk Queue Length

   

Avg. Disk Queue Length 指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。

   

Physical Disk

   

Current Disk Queue Length

   

Current Disk Queue Length指在收集操作数据时在磁ç