然后选择上述菜单中的Options
由于我们在Controlller的Run-Time Setting中设置了以多线程方式运行,所以这里我们应该选择第二项,为每一个线程分配不同的IP。
其他设置采用默认即可,这里不再详细说明。
7 监视场景
在运行过程中,可以监视各个服务器的运行情况(DataBase Server、Web Server等)。监视场景通过添加性能计数器来实现。这一章非常的重要,确定系统瓶颈全靠它了。
下面重点讲讲需要添加那些计数器,以及那些计数器代表什么意思。
由于Win2000 Professional、Server以及Advanced Server提供的计数器不完全相同,这里我们讨论将以Server为基准。
7.1 Memory相关
内存是第一个监视对象,确定系统瓶颈的第一个步骤就是排除内存问题。内存短缺的问题可能会引起各种各样的问题。
Object(对象) Counters(计数器
名称) Memory
Available MBytes
Description(描述) 参考值
物理内存的可用数(单位 Mbytes)。默至少要有认情况下IIS5.0使用50%的可用物理内10%的物理存,作为IIS的文件缓存(file cache) 内存值 当处理器向内存指定的位置请求一页(可能是数据或代码)出现错误时,这就构成一个Page Fault。如果该页在内存的其他位置,该错误被称为软错误(用Transition Fault/sec计数器衡量);如果该页必须从硬盘上重新读取时,被称为硬错误。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。Page Faults/sec是处理器每秒钟处理的错误页(包括软错误和硬错误)。
Pages Input/sec是为了解决硬错误页,从硬盘上读取的页数,而Page Reads/sec是为了解决硬错误,从硬盘读取的次数。
Pages/sec 是指为解析硬页错误从磁盘读取或写入磁盘的页数。
Page/sec推荐00-20(如果大于 80,表示有问题)。 这些计数器的值比较低,说明Web服务器响应请求比较快,否则可能是服务器系统内存短缺引起(也可能是缓存太大,导致系统内存太少)。Page Input/sec的值可以衡量出硬错误页发生的速率,通常它的值会大于或者等于Page Reads/sec。
Memory
Page/sec
Page Faults/sec Pages Input/sec Page Reads/sec Transition Faults/sec
Memory Cache Bytes
文件系统缓存(File System Cache),默默认情况下
为50%的可认情况下为50%的可用物理内存。如
IIS5.0运行内存不够时,它会自动整理用物理内存 缓存。需要关注该计数器的趋势变化。 File Cache Hits %是文件缓存命中全部缓存需求的比例,反映了IIS的文件缓存设置的工作情况。而File Cache Hits是文件缓存命中的具体值,File Cache Flushes是自服务器启动之后文件缓存刷新次数,如果刷新太慢,会浪费内存;如果刷新太快,缓存中的对象会太频繁的丢弃生成,起不到缓存的作用。通过File Cache Hits和File Cache Flushes可以得到一个适当的刷新值(参考IIS的设置ObjectTTL、MemCacheSize、
(对于一个大部分是静态网页组成的网站)File Cache Hits% 在80%左右属于非常好!
Internet
Information Services Global File Cache Hits % File Cache Flushes
File Cache Hits
MaxCacheFileSize)。
Memory
Pool Paged Bytes 这两个计数器监视服务器上各个进程在访问数比
Pool Nonpaged 的分页池字节数和非分页池字节数。 较固定的情Bytes 况下,Pool
Nonpaged Bytes是比较固定的,如果访问数逐步增加,该值会缓慢的增加。
Virtual Bytes(实Virtual Bytes计数器监视IIS5.0保留的 例inetinfo、虚地址空间的数量,实例化为inetinfodllhost) 进程(IIS运行的核心)和Dllhost进程(隔Working Set(实例离/连接池 的应用程序必需的)。inetinfo 、dllhost) Working Set计数器反映了每个进程使
系统的内存页(pool Dllhost#n进程都用的内存页的数量。
Page)只能由操作系统的核心模块直接要添加计数器
访问,用户进程不能访问。运行IIS5.0
的服务器上,负责web连接的线程以及它需要的一些对象都保存在未分页的池中(nonpaged pool),比如文件句柄和socket 连接 Committed Bytes
Committed Byte 是指以字节表示的确认虚拟内存。(确认内存是指为磁盘分页文件在磁盘上保留的空间以便在需要将其写回磁盘时使用)。
推荐不超过物理内存的 75%
Process
Memory
7.2 Processor相关
Object(对象) Counters(计数器
名称) Sytem
Description(描述)
参考值 小于2
Processor Queue Processor Queue Length 是指处理列队Length 中的线程数。即使在有多个处理器 的
计算机上处理器时间也会有一个单列队。不象磁盘计数器,这个计数器仅 计数就绪的线程,而不计数运行中的线程。如果处理器列队中总是有两个以上的线程 通常表示处理器堵塞。 %Processor Time
CPU使用率
Processor
小于75%。排除内存因素,如果该计数器的值比较大,而同时网
卡和硬盘的值比较低,那么可以确定CPU瓶颈
System
Context Switches/sec
Context Switches/sec 指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换,由一个有更高优先就绪的线程占先或在用户模式和特权(内核)模式之间转换以使用执行或分系统服务。它是在计算机上的所有处理器上运行的所有线程的Thread: Context Switches/sec 的总数并且用转换数量衡量。在系统和线程对象上有上下文转换计数器。
Context 如果你决定要增加线程字节池的大小,Switches/sec(实你应该监视这三个计数器(包括上面的
。增加线程数可能会增加上下文例化inetinfo和一个)
dllhost进程 切换次数,这样性能不会上升反而会下
降。如果十个实例的上下文切换值非常高,就应该减小线程字节池的大小。 Interrupts/sec %DPC Time
这两个计数器能够反映处理器用在处理中断以及推迟处理调用的时间。 Interrupts/sec 指处理器每秒钟接收并维护的硬件中断的平均值。正常的线程操作在中断时悬停。大多数的系统时钟每隔 10 毫秒中断处理器一次,形成了间隔活动的后台。
如果切换次数到5000*CPU个数和10000*CPU个数中,说明它忙于切换线程而不是处理ASP脚本。
Thread
Processor
与处理器有关。486/66 处理器最大为 1000;P90 为3500;P200 大于 7000。□越低越好。
7.3 网络吞吐量以及带宽
Object(对象) Counters(计数器
名称) Network Interface
Bytes Total/sec
Description(描述)
Bytes Total/sec 为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较
参考值 该计数器的值和目前网络的带宽相除,结果应该小于50%
Web Service
Maximum Connections、 Total Connection Attempts Maximum Connections :“最大连接数” 是和 Web 服务同时建立起的最大连接数。
Total Connection Attempts :“连接尝试
总数”是从服务启动时利用 Web 服务尝试连接的总数。该计数器应用于全部所列的实例。
7.4 磁盘相关
Counters(计数器Object(对象)
名称) Network Interface
Bytes Total/sec
Description(描述)
Bytes Total/sec 为发送和接收字节的速率,包括帧字符在内。判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较 CPU使用率
参考值
Processor PhysicalDisk
%Processor Time %Disk Time
% Disk Time 指所选磁盘驱动器忙于为 读或写入请求提供服务所用的时间 的百分比。如果三个计数器都比较大,那么硬盘不是瓶颈。如果只有%Disk Time比较大,另外两个都比较适中,硬盘可能会是瓶颈
7.5 Web应用程序
这里以ASP.NET开发的Web应用程序为例进行说明。 Object(对象) Counters(计数器
名称) ASP.NET Applications
Description(描述)
参考值 如果Request/Sec的值比较小,你的Web程序可能是瓶颈 Request Wait Time和Request Queued在理想状况下应该接近0,如果这两个值太大,那么需要重写代码提高性能
Request/Sec 每秒执行的请求数。 Request Executing 当前执行的请求数。
ASP.NET
Request Wait Time
Request Executing Time
Request Queued 最近的请求在队列中等待的毫秒数。
执行最近的请求所用的毫秒数。
等候处理的请求数。
LoadRunner使用手册
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)