我们正在开发一个广泛使用WCF Restful服务的Web应用程序。在即将到来的圣诞节和新年前夕,我们期待交通繁忙,管理层决定改善我们的应用程序的性能。
但我不确定如何衡量每项服务的表现。
用于衡量给定WCF服务性能的标准方法,方法和工具是什么?
答案 0 :(得分:3)
查看内置性能计数器
您可以通过将其添加到您的配置来启用它们:
<configuration>
<system.serviceModel>
<diagnostics performanceCounters="All" />
</system.serviceModel>
</configuration>
重新启动您的服务。
启动应用程序“perfmon.exe”性能监视器,不要与Windows性能分析器混淆。
选择监控工具 - &gt;性能监视器
单击绿色加号按钮
选择ServiceModelService 4.0.0.0并找到您的实例。
选择您的实例,然后点击添加
选择确定
现在您可以获得大量信息。
答案 1 :(得分:0)
1)您可以使用WCF扩展性来拦截WCF方法调用。
请参阅: IParameterInspector (Simple profiler)
和
2)更普遍的方法是使用'常规'interсeptors。如果你为你的Wcf服务实现(或者你需要测量性能的任何类)构建动态拦截器代理(我建议使用castle dynamic proxy或非常强大的impromptu interface) - 你将能够手动使用秒表调用方法调用并根据需要使用一些额外信息记录结果。
良好的做法是使用依赖注入框架注册(切换)具体的接口实现。其中一些支持WCF集成工具(链接:Autofac,Windsor,Ninject)和动态代理(链接:Autofac,Windsor,{{3} })。