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

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

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

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

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

<endpointId> 被推导为 <sql_server_name>, <instance_name>, <database_name>.

<actionId> 以下列方式派生:

  • 要打开连接,动作 ID 是“Open”。

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

  • 对于出站操作,操作 ID 是所调用操作的操作 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 适配器疑难解答