d-_*_*_-b 0 performance sql-server
作为一名 DBA,我已经对 SQL 服务器进行性能调优多年。
我正在尝试创建一个快餐版的性能指标,它可以快速(在 5 分钟内)和准确(可证明)回答来自管理层的问题“此服务器需要更多/更快 _ 吗?”
“_”是 IT 堆栈自下而上的这 4 个可能的瓶颈之一(从服务器的角度来看,无需进入应用程序/代码/用户界面):
网络
磁盘
记忆
中央处理器
有数以千计的柜台、文章、产品可以帮助监控这些。但是是否有一个简单、即时和准确的脚本可以确定这 4 个中的任何一个是否需要扩大或缩小?
例如 sys.dm_os_wait_stats - SOS_SCHEDULER_YIELD 具有高信号等待 => 需要更多或更快的 CPU。
PAGEIO_LATCH => 需要更多文件或更快的磁盘
这2个准确吗?Page Life Expectancy 是否准确地“证明”了需要更多内存?您用于诊断性能问题的GO-TO脚本是什么?
我使用过 sp_whoisactive、sp_blitz、Glenn 的 DMV、Spotlight、Idera 等,但我还没有遇到一个脚本可以满足 CIO 关于在哪里花费预算资金的问题,或者将问题正确归咎于错误代码,或者速度缓慢SAN 或 ISP。
每当任何(网络/系统/DBA/应用程序)工程师指责另一个团队时,我们都必须“证明”我们的陈述,而有了虚拟化和云,没有理想的测试环境,没有停机时间,越来越难以证明地精确定位服务器性能问题的根源,可能是任务管理器以外的<请原谅咆哮>
不。假设您有一台服务器:
您可以使用以下方法修复此场景:
没有一个指标可以告诉您哪些解决方案是正确的。欢迎使用性能调优。这不是一个简单的按钮。