65.9K
CodeProject 正在变化。 阅读更多。
Home

使用“Perfmon”监控 WCF 服务性能

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.95/5 (12投票s)

2012年7月31日

CPOL

2分钟阅读

viewsIcon

79662

downloadIcon

2473

本文解释了如何使用 Windows "Perfmon" 监控 WCF 服务的性能。

引言

使用 "Perfmon" 监控 .NET 应用程序的性能对开发人员来说并不陌生。 同样的工具也可以用来监控 WCF 服务的性能。

使用代码

本文附带了一个 C# 解决方案 "PerfCounter"。 其中包含三个项目 

  • PerfCounter:这是一个默认的模板项目,当您使用 GetData 方法添加新的 WCF 服务库项目时创建。
  • PerformanceCounterService:这是 "PerfCounter" 的 Windows 服务主机。 您可以编译并将其安装为 Windows 服务 参考文章获取任何帮助:https://codeproject.org.cn/Tips/52471/Install-Windows-Service
  • PerformanceCounterClient:这是一个控制台应用程序,用于查看性能计数器的工作情况

什么是“Perfmon” 

Perfmon 是一个性能分析和故障排除工具。 它能够随时间推移,以指定的时间间隔收集各种性能指标,并生成日志,这些日志可以进行图形分析,以识别系统性能中的问题区域。

PerfMon 示例:演示如何使用性能计数器监视系统性能 - http://msdn.microsoft.com/en-us/library/aa645516(v=vs.71).aspx

如何使用 Perfmon

转到 Windows > 运行

键入“Perfmon”并按 Enter 键,这将打开性能监视器,如下图所示。

在左侧的图表中打开内容菜单,然后单击“添加计数器”,这将打开一个窗口,其中包含各种性能计数器类别,如下图所示

WCF 服务和性能计数器  

WCF 服务具有许多内置的性能计数器,可用于监视 WCF 服务。 默认情况下,WCF 性能计数器处于关闭状态,因为这些计数器有可能显着增加 WCF 应用程序的内存占用。

WCF 服务性能计数器类别

  1. ServiceModelEndpoint
  2. 该组计数器负责跟踪有关 WCF 服务端点的信息。 请参阅下方的屏幕,其中 PERFCOUNTER 服务已启用 ServiceModelEndPoint 性能计数器。 可以添加计数器来监视 WCF 服务的全部或特定端点。

     

  3. ServiceModelOperation
  4. 该组计数器负责跟踪有关 WCF 服务内操作的信息。 请参阅下方的屏幕,其中 PERFCOUNTER 服务已启用 ServiceModelOperation 性能计数器。 可以添加计数器来监视所有操作或 WCF 服务的特定操作。

  5. ServiceModelService
  6. 该组计数器负责跟踪有关整个 WCF 服务的信息。 请参阅下方的屏幕,其中 PERFCOUNTER 服务已启用 ServiceModelService 性能计数器。

为 WCF 服务启用性能计数器 

要为 WCF 服务启用性能计数器,请修改服务主机的配置文件,使其具有带以下可能值的诊断配置标签。  

WCF 服务性能计数器配置可以设置为以下三个值

  1. performanceCounters=”All”,这将启用所有三个类别的计数器
    • ServiceModelEndpoint
    • ServiceModelOperation
    • ServiceModelService 
  2. performanceCounters=”ServiceOnly”,仅启用 ServiceModelService 类别计数器 
  3. performanceCounters=”Off”,禁用所有 ServiceModel 性能计数器。 这是默认值。
© . All rights reserved.