有关windows资源计数器:Processor%ProcessorTime所有进程线程使用处理器执行指令所花的时间百分比。可判断CPU主要是消耗在应用程序还是CPU本身。%UserTime指处理器处于用户模式的时间百分比。%PrivilegedTime在特权模式下处理线程执行代码所花时间的百分比。ProcessProcessorTime(主要的几个进程)具体某个进程线程使用处理器执行指令所花的时间百分比。查看主要的几个进程占用的CPU。Privatebytes(主要的几个进程)指某个进程不能与其他进程共享的、已分配的当前内存的字节数。查看主要的几个进程占用的内存。SystemProcessorQueueLength处理器等待队列。判断是否存在CPU瓶颈。MemoryAvailableBytes可用的物理内存量,此内存能立刻分配给一个进程或系统使用。它等于分配给待机(缓存的)、空闲和零分页列表内存的总和。Pages/sec指为解决硬页错误从磁盘读取或写入磁盘的速度。这个计数器是可以显示导致系统范围延缓类型错误的主要指示器。PagesRead/sec取读磁盘以解析硬页面错误的速度。PoolNonpagedBytes指在非分页池中的字节数。非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。PhysicalDisk%DiskTime指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。Avg.DiskQueueLength指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。DiskReads/sec指在此盘上读取操作的速率。DiskWrites/sec指在此盘上写入操作的速率。Avg.DiskSec/transfer指以秒计算的一般磁盘传送所需时间。NetworkInterfaceBytesTotal/sec是在每个网络适配器上发送和接收字节的速率,包括帧字符在内。相应的分析方法:一、内存1、查看AvailableMBytes(memory)。可用物理内存数。一般要保留10%的可用内存。最低不能4M,此值过小可能是内存不足或内存泄漏。2、查看pagefaults/sec(memory)、pagesinput/sec(memory)及pagereads/sec(memory)。如果有个程序请求内存中的一页,但系统无法在所需的位置上找到它,就会构成一个分页错误。如果此页位于内存中的其它位置,则此错误便称为软件分页错误。如果必须从磁盘获取此页,则此错误便称为硬件分页错误。大部分的处理器可以处理大量的软件错误而不会引起任何后果。但是,硬件错误却会导致严重的延迟。「pagefaults/sec」是指处理器处理错误页(包括硬件及软件分页错误)的整体速度。「pagesinput/sec」是指为了解决硬件分页错误而从磁盘读取的总页数。「pagesreads/sec」是指为了解决硬件分页错误而读取磁盘的次数。「pagesinput/sec」会大于或等于「pagereads/sec」,并且能够清楚地让您了解硬件分页错误率。如果这些数字都很低,则服务器应该可以快速地响应请求。如果很高,则可能是因为您用了太多的内存在缓存处理上,而没有留足够的内存供系统的其它部份使用。可以增加内存或降低缓存的ram大小来解决。详细:pageFaults/sec:只表明数据不能在内存的指定工作集中立即使用;pageInput/sec:pageinput/secpagereads/sec;pageReads/sec:阈值为5.越小越好,大数值表示磁盘读而不是缓存读;Page/sec:指为解析硬页错误从磁盘读取或写入磁盘的页数(是PagesInput/sec和PagesOutput/sec的总和)。其值推荐00-20如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题(太多的读写数据操作要访问磁盘,可考虑增加内存或优化读写数据的算法),如果值比较低,说明Web服务器响应请求比较快,否则可能是服务器系统内存短缺引起(也可能是缓存太大,导致系统内存太少)。3、查看PoolNonpagedBytes(Memory)计数器的值。PoolNonpagedBytes指在非分页池中的字节数,非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。缓慢增长表示存在内存泄漏问题。二、处理器1、%processortime(processor)、%usertime(processor)、%privilegedtime(processor)%ProcessorTime指处理器执行非闲置线程时间的百分比;通俗一点讲就是CPU使用率。这是监视处理器活动的主要指示器。它通过在每个范例间隔中衡量处理器用于执行闲置处理线程的时间,并且用100%减去该值得出。(每台处理器有一个闲置线程,该线程在没有其它线程可以运行时消耗周期)。可将其视为范例间隔用于做有用工作的百分比。正常值90,此值过大表示处理器的性能已经不能应付程序的要求,要换更快的处理器。该数值持续超过90%,则表示此测试的负载对于目前的硬件过于沉重。排除内存因素,如果该计数器的值比较大,而同时网卡和硬盘的值比较低,那么可以确定CPU瓶颈。%UserTime指处理器处于用户模式的时间百分比。如果该值较大,说明应用程序或数据库需要进行优化。%PrivilegedTime是在特权模式下处理线程执行代码所花时间的百分比。2、processorqueuelength(system)ProcessorQueueLength:是指处理列队中的线程数。显示在由Web服务器所有处理器共享的队列中等待执行的线程数。如果处理器列队中总是有2个以上的线程通常表示处理器堵塞。参考值:小于2。处理器瓶颈会导致该值持续大于2。三、网络1、bytestotal/sec(networkinterface)。若要判定您的网络连接是否正在存在瓶颈,请比较「networkinterface:bytestotal/sec」计数器与您的网络适配卡总带宽。若要在传送量中留些空间供尖峰时间用,则不应常使用超过50%的容量。如果这个数字十分接近连接的容量,而处理器及内存的使用都很适中,则此连接也会是个问题。四、磁盘1、%processortime(processor),bytestotal/sec(networkinterfaceconnection)及%disktime(physicaldisk)。PhysicalDisk\%DiskTime、PhysicalDisk\Avg.DiskQueueLength、Memory\Pages/sec(结果分析方法资料收集.doc)有不同说法。%DiskTime%:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。如果这三个计数器的值都很高,则硬盘不会引起站点的瓶颈。但是,如果「%disktime」的值很高,但处理器及网络连接并没有饱和,则硬盘可能会造成瓶颈。如果在您的服务器上没有启用「physicaldisk」计数器,请在Windows2000的命令行窗口中运行diskperf-yD。正常值10,此值过大表示耗费太多时间来访问磁盘,可考虑增加内存、更换更快的硬盘、优化读写数据的算法。若数值持续超过80(此时处理器及网络连接并没有饱和),则可能是内存泄漏。2、Avg.DiskQueueLength、PageReads/sec指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。正常值0.5,此值过大表示磁盘IO太慢,要更换更快的硬盘。DiskTransfers/sec指在此盘上读取/写入操作速率。正常值(DiskBytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘。PageReads/sec和%DiskTime及Avg.DiskQueueLength。如果页面读取操作速率很低,同时%DiskTime和Avg.DiskQueueLength的值很高,则可能有磁盘瓶径。但是,如果队列长度增加的同时页面读取速率并未降低,则内存不足。有关IIS应用服务器计数器:ActiveServerPagesrequests/sec每秒执行的请求数。requestsexecuting当前正在执行的请求数。requestwaittime最近的请求在队列中等待的时间(毫秒)。requestexecutingtime执行最近的请求花费的时间(毫秒)。requestsqueued在队列中等待服务的请求数。Asp.netApplicationRestarts应用程序重新启动的次数.RequestsQueued排队的请求数。WorkerProcessRestarts辅助进程重新启动的次数。Asp.netApplicationErrorsTotal错误总数。Requests/Sec每秒执行的请求数。PipelineInstanceCount指定的ASP.NET应用程序的活动请求管线实例的数目。CacheTotalTurnoverRate每秒对总缓存的添加数和移除数。IISGLOABLEFileCacheFlushes自服务器启动后的文件缓存刷新数。FileCacheHits文件缓存中的成功查找总数。FileCacheHits%文件缓存命中数占全部缓存请求的比率。ProcessProcessorTime(主要的几个进程)具体某个进程线程使用处理器执行指令所花的时间百分比。查看主要的几个进程占用的CPU。Privatebytes(主要的几个进程)指某个进程不能与其他进程共享的、已分配的当前内存的字节数。查看主要的几个进程占用的内存。SystemContextSwitches/sec计数器测量Web服务器计算机中的所有CPU切换线程上下文的速率。WebServicemaximumconnections是通过Web服务同时进行非匿名连接的最大用户数(从服务启动后)。totalconnectionattempts尝试通过Web服务进行连接的总数(从服务启动后)。此计数器针对所有列出的实例。cgirequests/sec每秒Web服务接收的CGI请求数。isapiextensionrequests/sec执行最近的请求花费的时间(毫秒)。MemoryAvailableBytes可用的物理内存量,此内存能立刻分配给一个进程或系统使用。它等于分配给待机(缓存的)、空闲和零分页列表内存的总和。Pages/sec指为解决硬页错误从磁盘读取或写入磁盘的速度。这个计数器是可以显示导致系统范围延缓类型错误的主要指示器。PagesRead/sec取读磁盘以解析硬页面错误的速度。PoolNonpagedBytes指在非分页池中的字节数。非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。CacheBytes显示「文件系统缓存」的大小。pagefilebytes:total系统上分页文件的大小。PhysicalDisk%DiskTime指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。Avg.DiskQueueLength指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。DiskReads/sec指在此盘上读取操作的速率。DiskWrites/sec指在此盘上写入操作的速率。Avg.DiskSec/transfer指以秒计算的一般磁盘传送所需时间。NetworkInterfaceBytesTotal/sec是在每个网络适配器上发送和接收字节的速率,包括帧字符在内。与性能有关系的参数调整:1、查看requests/sec、requestsexecuting、requestwaitt