WCF 适配器性能计数器
通过性能计数器,可以监视服务在站点或系统上执行的工作的特定方面。 性能计数器能够帮助您标识和解决有关服务器性能的问题。 WCF 适配器不提供自己的性能计数器。 但是,您可以监控 Windows Communication Foundation (WCF) 性能计数器以衡量 WCF 接收位置的性能。 若要将 WCF 性能计数器用于 WCF 接收位置,则必须为运行接收位置的主机实例启用性能计数器。
注意
WCF 性能计数器不可用于 WCF 发送端口。
对于进程内 WCF 适配器,可以通过 BTSNTSvc.exe.config 文件启用性能计数器。 对于独立 WCF 适配器,可以修改 Web.config 文件以启用性能计数器。 有关 WCF 性能计数器的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkID=87245“WCF 性能计数器”。
为 WCF 接收位置启用 WCF 性能计数器
对于进程内 WCF 适配器,可以通过 BTSNTSvc.exe.config 文件启用性能计数器。
对于独立 WCF 适配器,可以通过修改 BizTalk WCF 服务发布向导在 Web 应用程序文件夹中创建的 Web.config 文件来启用 WCF 跟踪。
若要修改 BTSNtSvc.exe.config 或 Web.config,请打开相应配置文件,然后配置 WCF 跟踪,如下面的配置示例所示:
注意
BTSNTSvc.exe.config 文件始终与 BTSNTSvc.exe 文件位于同一目录中,该文件通常是 \Program Files (x86) \Microsoft BizTalk Server <VERSION>。
<configuration>
<system.serviceModel>
<diagnostics performanceCounters="All" />
</system.serviceModel>
</configuration>
可以将 performanceCounters 属性设置为启用特定类型的性能计数器。 有效值为
全部:已启用 ServiceModelService、 ServiceModelEndpoint 和 ServiceModelOperation) (的所有类别计数器。
ServiceOnly:仅启用 ServiceModelService 类别计数器。
关闭:禁用 ServiceModel* 性能计数器。 这是默认值。
修改 BTSNTSvc.exe.config 文件之后,必须重新启动运行进程内 WCF 接收位置的主机实例。
性能计数器的类型
WCF 性能计数器的范围限定为三个不同的级别:服务、终结点和操作。
服务性能计数器
服务性能计数器将服务行为作为整体来进行衡量,可用于诊断服务整体性能。 使用 性能监视器 查看时,它们位于 ServiceModelService 3.0.0.0 性能对象下。 使用以下模式命名计数器实例:
biztalkserviceinstance@<URI of a receive location>
因为 WCF 适配器为每个接收位置创建一个单独的服务主机,所以会为每个接收位置创建一个性能计数器实例。 有关实现 WCF 服务协定的服务类的详细信息,请参阅 UI 指南和开发人员 API 命名空间参考中的 BizTalkServiceInstance 类。
终结点性能计数器
使用终结点性能计数器可以查看反映终结点如何接受消息的数据。 使用 性能监视器 查看时,它们位于 ServiceModelEndpoint 3.0.0.0 性能对象下。 使用以下模式命名计数器实例:
biztalkserviceinstance.<WCF service contract>@<URI of a receive location>
对每个接收位置均会创建一个性能计数器实例。 在上面的模式中,WCF 服务约定的名称表示 WCF 适配器选择用于通过接收位置接收消息的服务约定。 有关 WCF 适配器如何从可用的 WCF 服务协定中选择服务协定的详细信息,请参阅 UI 指南和开发人员 API 命名空间参考中的 WCF 适配器服务协定参考。
操作性能计数器
使用 性能监视器 查看时,操作性能计数器位于 ServiceModelOperation 3.0.0.0 性能对象下。 对每个接收位置会创建两个性能计数器实例。 其中一个对象实例使用以下模式进行命名:
biztalkserviceinstance.<WCF service contract>biztalksubmit@<URI of a receive location>
在上面的模式中,WCF 服务约定的名称表示 WCF 适配器选择用于通过接收位置接收消息的服务约定。 biztalksubmit 是在服务协定中声明的操作名称,它会导致运行时在元数据中创建 WSDL 操作。
注意
有关 WCF 适配器如何从可用的 WCF 服务协定中选择服务协定的详细信息,请参阅 UI 指南和开发人员 API 命名空间参考中的 WCF 适配器服务协定参考。
另一个对象实例使用以下模式进行命名:
biztalkserviceinstance.<WCF service contract><twowaymethod|onewaymethod>@<URI of a receive location>
此性能计数器实例表示异步处理通过接收位置传入的消息的操作。 此实例的操作名称部分可以是 twowaymethod 或 onewaymethod ,具体取决于接收位置中使用的 WCF 适配器的类型。 如果使用 WCF-NetMsmq 适配器,则会创建一个具有 onewaymethod 操作名称的实例。 对于其他适配器, 将 twowaymethod 用于操作名称部分。