MSSQL 性能指标集

编辑

performance 指标集从 MSSQL 中通常称为 性能计数器 的地方获取信息。

我们获取以下数据

  • page_splits_per_sec: 由于索引页溢出而导致的每秒页面分裂次数。
  • lock_waits_per_sec: 每秒需要调用方等待的锁请求次数。
  • user_connections: 用户连接总数。
  • transactions: 事务总数。
  • active_temp_tables: 正在使用的临时表/表变量的数量。
  • connections_reset_per_sec: 从连接池开始的登录总数。
  • logins_per_sec: 每秒开始的登录总数。这并不包括池化连接。
  • logouts_per_sec: 每秒开始的注销操作总数。
  • recompilations_per_sec: 每秒语句重新编译次数。统计语句重新编译触发的次数。通常,您希望重新编译次数较少。
  • compilations_per_sec: 每秒 SQL 编译次数。指示编译代码路径进入的次数。包括 SQL Server 中由语句级重新编译引起的编译。SQL Server 用户活动稳定后,此值将达到稳定状态。
  • batch_requests_per_sec: 每秒接收到的 Transact-SQL 命令批次数量。此统计数据受所有约束(例如 I/O、用户数量、缓存大小、请求复杂性等)的影响。高批次请求意味着良好的吞吐量。
  • cache_hit.pct: 该比率是缓存命中总数除以过去几千次页面访问期间的缓存查找总数。经过很长一段时间后,该比率变化很小。由于从缓存读取比从磁盘读取便宜得多,因此您希望此比率较高。
  • page_life_expectancy.sec: 指示页面在缓冲池中停留而没有被引用(以秒为单位)的秒数。
  • buffer.checkpoint_pages_per_sec: 指示检查点或其他需要刷新所有脏页的操作每秒刷新到磁盘的页面数。
  • buffer.database_pages: 指示缓冲池中包含数据库内容的页面数。
  • buffer.target_pages: 缓冲池中理想的页面数。

这是一个默认指标集。如果主机模块未配置,则默认启用此指标集。

字段

有关指标集中每个字段的描述,请参阅导出字段部分。

以下是由此指标集生成的示例文档

{
    "@timestamp": "2017-10-12T08:05:34.853Z",
    "event": {
        "dataset": "mssql.performance",
        "duration": 115000,
        "module": "mssql"
    },
    "metricset": {
        "name": "performance",
        "period": 10000
    },
    "mssql": {
        "performance": {
            "active_temp_tables": 0,
            "batch_requests_per_sec": 7453,
            "buffer": {
                "cache_hit": {
                    "pct": 0.55
                },
                "checkpoint_pages_per_sec": 124,
                "database_pages": 2191,
                "page_life_expectancy": {
                    "sec": 2721
                },
                "target_pages": 1589248
            },
            "compilations_per_sec": 2503,
            "connections_reset_per_sec": 61,
            "lock_waits_per_sec": 4,
            "logins_per_sec": 2448,
            "logouts_per_sec": 2446,
            "page_splits_per_sec": 15,
            "recompilations_per_sec": 0,
            "transactions": 0,
            "user_connections": 2
        }
    },
    "service": {
        "address": "172.23.0.2:1433",
        "type": "mssql"
    }
}