【问题标题】:How to measure performance of WCF Service?如何衡量 WCF 服务的性能?
【发布时间】:2013-10-08 05:50:17
【问题描述】:

我们正在开发一个广泛使用 WCF Restful 服务的 Web 应用程序。在即将到来的圣诞节和新年前夜,我们预计交通繁忙,管理层决定提高我们的应用程序的性能。

但我不确定如何衡量每项服务的性能。

用于衡量给定 WCF 服务性能的标准方法、方法和工具是什么?

【问题讨论】:

    标签: wcf


    【解决方案1】:

    看看内置的性能计数器

    您可以通过将其添加到您的配置来启用它们:

    <configuration>
        <system.serviceModel>
            <diagnostics performanceCounters="All" />
        </system.serviceModel>
    </configuration>
    

    重新启动您的服务。

    启动应用程序“perfmon.exe”性能监视器,不要与 Windows 性能分析器混淆。

    选择监控工具 -> 性能监控器

    点击绿色的加号按钮

    选择 ServiceModelService 4.0.0.0 并找到您的实例。

    选择您的实例并点击添加

    选择确定

    现在你有很多可用的信息。

    【讨论】:

      【解决方案2】:

      1) 您可以使用 WCF 扩展性来拦截 WCF 方法调用。

      见: IParameterInspector (Simple profiler)

      消息检查员herehere

      2) 更通用的方法是使用“常规”拦截器。如果您为 Wcf 服务实现(或您需要测量性能的任何类)构建动态拦截器代理(我建议使用 castle dynamic proxy 或非常强大的 impromptu interface) - 您将能够手动测量方法调用秒表并根据需要记录结果以及一些额外的信息。

      良好的做法是使用依赖注入框架注册(切换)具体的接口实现。其中一些支持 WCF 集成工具(链接:AutofacWindsorNinject)和动态代理(链接:AutofacWindsorNinject)。

      【讨论】:

        猜你喜欢
        • 2015-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        • 2020-09-25
        • 2011-04-24
        相关资源
        最近更新 更多