MSSQL 性能指标集
编辑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" } }