队列的Webservice wcf性能计数器

队列的Webservice wcf性能计数器,wcf,performance,iis,performancecounter,Wcf,Performance,Iis,Performancecounter,我试图测试一个wcf Web服务的性能,它应该会获得大量的流量。哪些性能计数器是明智的使用,以及用于什么目的..当然,我在看CPU和RAM,但我想知道IIS何时发出请求以及何时出现问题 非常感谢收到有关合理性能计数器的任何建议 干杯alexMSDN有一整节专门介绍,尤其是针对 还有性能计数器以及和的特定部分 我建议先看一下这些,因为那里有大量有价值的信息。分析性能计数器很复杂,需要大量实践,这是我的说法,我没有足够的经验给出完整的列表 你将从一些具体的事情开始。 首先当然是返回webservic

我试图测试一个wcf Web服务的性能,它应该会获得大量的流量。哪些性能计数器是明智的使用,以及用于什么目的..当然,我在看CPU和RAM,但我想知道IIS何时发出请求以及何时出现问题

非常感谢收到有关合理性能计数器的任何建议


干杯alex

MSDN有一整节专门介绍,尤其是针对

还有性能计数器以及和的特定部分


我建议先看一下这些,因为那里有大量有价值的信息。

分析性能计数器很复杂,需要大量实践,这是我的说法,我没有足够的经验给出完整的列表

你将从一些具体的事情开始。 首先当然是返回webservice调用需要多长时间。这会告诉您在该负载下是否存在性能问题。 接下来每个人都看CPU。然而,这并没有告诉你很多。 RAM很好,但是你想知道你的应用程序分页到磁盘的频率,所以请检查每秒的页面错误。 检查逻辑磁盘和物理磁盘的当前磁盘队列长度。如果您的物理磁盘出现问题,那么您正在对磁盘进行大量的读/写操作

除此之外,你通常会试图找到一个具体的,可能是模糊的问题

我通常分阶段进行性能测试。使用基础知识进行第一次测试,如果某个特定页面出现问题,请查看它导致的负载


如果整个生产服务器的性能不够好,添加更多硬件会更容易,但我更喜欢查看正在运行的代码并使其更好。

在运行性能监视器之前,您需要添加注册表项:

HKLM/Services/CurrentControlSet/service/
  Add ServiceModelService 4.0.0.0
  under that add Performance then add a DWORD FileMappingFile.
  The size for that will be number of services exposed * 33 * 350.
然后在配置中添加

<system.ServiceModel>
  <diagnostics performanceCounters="ServiceOnly"/>
</system.ServiceModel>
如果您在这些分组中发现一些有问题的号码,那么请开始查看其他元素,如Calls Faulted或Calls Failed。(不确定故障和故障之间的区别)

很少有人会比只提供服务的数字更深入地研究这些问题。当您进入另外两组计数器时,您的共享内存利用率会非常高

CPU will show you how heavily your are saturating your server
RAM will show if you have memory leaks if it continues to grow and grow and grow
Calls will show the number of calls you are getting accumulative, 
Calls Per Second will give you the volume you're handling
Calls Outstanding are clients that are waiting because your services could not handle the volume.