分片映射管理器的性能计数器

可以捕获分片映射管理器的性能,尤其是在使用数据依赖型路由时。 计数器是使用 Microsoft.Azure.SqlDatabase.ElasticScale.Client 类的方法创建的。

计数器用于跟踪数据相关路由操作的性能。 可在“弹性数据库: 分片管理”类别下的“性能监视器”中访问这些计数器。

要获取最新版本:请转到 Microsoft.Azure.SqlDatabase.ElasticScale.Client。 另请参阅升级应用以使用最新的弹性数据库客户端库

先决条件

  • 若要创建性能类别和计数器,用户必须属于托管应用程序的计算机上的本地“管理员”组。
  • 若要创建性能计数器实例和更新计数器,用户必须是“管理员”或“性能监视器用户”组的成员。

创建性能类别和计数器

若要创建计数器,请调用 ShardMapManagmentFactory 类的 CreatePeformanceCategoryAndCounters 方法。 只有管理员才能执行该方法:

ShardMapManagerFactory.CreatePerformanceCategoryAndCounters()  

也可以使用PowerShell 脚本来执行该方法。 该方法将创建以下性能计数器:

  • 缓存映射:为分片映射缓存的映射数目。
  • DDR 操作次数/秒:分片映射的数据相关路由操作速率。 对 OpenConnectionForKey() 的调用成功建立与目标分片的连接时,将更新此计数器。
  • 映射查找缓存命中数/秒:分片映射中映射的成功缓存查找操作速率。
  • 映射查找缓存未命中数/秒:分片映射中映射的失败缓存查找操作速率。
  • 在缓存中添加或更新的映射数/秒:在缓存中为分片映射添加或更新映射的速率。
  • 从缓存中删除的映射数/秒:从缓存中删除分片映射的映射速率。

性能计数器是按进程为每个缓存分片映射创建的。

说明

以下事件会触发性能计数器创建:

对分片映射和映射执行的所有缓存操作将会更新性能计数器。 使用 DeleteShardMap() 成功删除分片映射会导致删除性能计数器实例。

最佳实践

  • 只应在创建 ShardMapManager 对象之前创建性能类别和计数器一次。 每次执行命令 CreatePerformanceCategoryAndCounters() 都会清除以前的计数器(丢失所有实例报告的数据),并创建新计数器。
  • 性能计数器实例是按进程创建的。 任何应用程序崩溃或从缓存中删除分片映射都会导致删除性能计数器实例。

另请参阅

弹性数据库功能概述

了解详细信息

尚未使用弹性数据库工具? 请查看入门指南文档结构图。 有关问题,请在 SQL 数据库论坛上联系我们和发出功能请求。