代码之家  ›  专栏  ›  技术社区  ›  earthling

如何开始WCF性能分析

  •  12
  • earthling  · 技术社区  · 16 年前


    我在网上找到了一些信息,但没有任何假设 我就在这里。

    - visual studio tools
    - clrprofiler 
    

    Here 是我发现的使用vsperfcmd.exe分析wcf服务的信息,根据这一点,它非常简单,但我需要填补在哪里开始的空白。我的假设是将vsperfcrlenv和VsPerfCmd复制到承载wcf服务的服务器上,并执行一些我不太确定的配置步骤。我也不太确定如何才能看到调用堆栈来评估每个调用的性能。

    clrprofiler看起来简单一些。我想我会把clrprofiler.exe复制到服务器上, File->Profile Service

    [编辑]
    我对测试网络不太感兴趣,因为它是在一个测试服务器上进行的,而且这是一个带有多个dev的大型wcf项目,我无法仅为了监视性能而对项目进行更改。我想把重点放在实际方法的性能上。

    我们非常感谢您的帮助。

    5 回复  |  直到 16 年前
        1
  •  6
  •   softveda    16 年前

    对于WCF来说,仅仅在通道堆栈上发生一堆事情(安全性、反序列化、格式化等)时分析代码是不够的。可视化的一个好方法是在详细级别使用WCF跟踪,然后使用 service trace viewer configure and use WCF tracing . 这是帮助我诊断WCF问题的最重要的事情。

    当然,所有其他代码分析、数据库分析等也是有效的方法。你甚至可以使用 SoapUI

        2
  •  5
  •   earthling    15 年前

    我学到了一些东西,有些人可能会觉得有帮助:

    Visual Studio不适合我分析WCF服务。我从VS profiler团队那里得到了一些帮助,但是从来没有找到一个有效的解决方案。

    VS连接和断开探查器的连接速度很慢,经常检测我的二进制文件,使它们处于损坏状态。

    .net二进制文件不需要检测,因为它们包含方法的元数据,这很奇怪,visual studio一直在托管我的二进制文件,试图检测它们。

    我还尝试了VS standalone profiler,但它使用起来非常复杂,需要重新启动服务器。

    实际上,我设置了profiler来监视WAS服务,然后将额外的二进制文件添加到profiler中。

    在对探查器是否连接进行故障排除时,process explorer非常有用。使用它查看inetinfo.exe环境

        3
  •  1
  •   Community Mohan Dere    9 年前

    你能忍受一种简单、老式的方法吗 只是工作而已 Here's one.

        4
  •  1
  •   500 - Internal Server Error    16 年前

    除了Mike的评论之外,您还可以使用内置的WCF性能计数器查看许多与性能相关的度量,还可以查看WCF跟踪上的调用时间。一旦知道哪些操作是“慢”的,通常向这些操作添加一些自定义计时/日志代码要比使用通用的探查器进行类似的操作容易得多。这来自于一个曾经在商业分析方面工作的人。

        5
  •  1
  •   larsw    16 年前