将性能计数器与 SQL 适配器配合使用

BizTalk 适配器包客户端可以使用性能计数器来测量适配器的性能。 BizTalk 适配器包安装程序将创建性能计数器类别“Microsoft BizTalk Adapter for SQL Server”以及适配器包安装。

LOB 时间 (累积) 性能计数器

BizTalk .NET Adapter for SQL 类别有一个名为“LOB 时间 (累积) ”的性能计数器。 此性能计数器表示客户端库SQL Server完成适配器启动的操作所花费的时间(以毫秒为单位)。 SQL 适配器为每个操作、特定SQL Server实例和数据库名称创建性能计数器的实例。 实例按以下模式创建:

<processId>:<appDomainId>:<endpointId>:<actionId>  

<endpointId> 生为 <sql_server_name>, <instance_name>, <database_name>

<actionId> 按以下方式派生:

  • 对于打开连接,操作 ID 为“打开”。

  • 对于入站操作,操作 ID 为“Inbound”。

  • 对于出站操作,操作 ID 是正在调用的操作的操作,“/”替换为下划线“_”。 此外,操作 ID 的前缀为“ExecuteScalar”、“ExecuteReader”或“ExecuteNonQuery”,具体取决于适配器内部用于对SQL Server数据库执行操作的方法。 例如,适配器在内部使用 ExecuteReader 方法在 SQL Server 中执行存储过程。 因此,存储过程 MyProcedure 的操作 ID 将为:

    ExecuteReader_Procedure_dbo_MyProcedure  
    

    仅当适配器首次调用 SQL Server 数据库后,才会初始化性能计数器。 此外,性能计数器的 InstanceLifetime 属性设置为“Process”,这意味着一旦创建计数器的程序终止,性能计数器就不再存在。

注意

LOB 时间 (累积) 性能计数器的精度为 16 毫秒。

启用性能计数器

可以通过设置绑定属性 EnablePerformanceCounters 来启用或禁用性能计数器。 若要启用性能计数器,请将 EnablePerformanceCounters 绑定属性设置为 True。 若要禁用性能计数器,请将 EnablePerformanceCounters 设置为 False。 默认情况下, 属性设置为 False。 有关此绑定属性的详细信息,请参阅阅读有关 SQL Server 适配器绑定属性的 BizTalk 适配器

性能计数器和 WCF LOB 适配器 SDK

更改 EnablePerformanceCounters 绑定属性的值也会更改 WCF LOB 适配器 SDK 的相应性能计数器的值。 此外,WCF LOB 适配器 SDK 的绑定属性是静态的,而 SQL 适配器的绑定属性是动态的。 因此,如果应用程序域中有两个 SQL 适配器绑定实例,并且 EnablePerformanceCounters 绑定属性在一个实例中设置为 True ,另一个属性设置为 False ,则特定于适配器的性能计数器将在一个中启用,并在另一个中禁用。 但是,由于 WCF LOB 适配器 SDK 的绑定属性是静态的,因此它将设置为 TrueFalse ,具体取决于上次指定的值。

另请参阅

SQL 适配器疑难解答