[英]Perf Mon Metrics Analysis
我正在阅读《蒸馏的SQL Server 2008查询性能调整》这本书,发现在某些情况下对性能指标的描述有些模糊。 我将列出它涵盖的所有指标,以及每个指标的含义。 我想在必要时分享一些说明。 正如我的评论所建议的,我主要是寻求帮助的项目#2、6和7。
target server memory
和max server memory
-来控制SQL Server内存使用量的总和? 是否因为“总数”是针对所有数据库实例的组合,而“最大值”是针对每个单独的数据库的? 我有一个总体问题,也许与项目7有关,当每个数据库实例配置为(几乎)总计所有可用物理内存的最大内存使用量时,会发生什么? 我猜想SQL Server不会为它托管的每个实例提供那么多的费用,并且会根据需要平衡自身? 比这还复杂吗?
唯一的问题是为什么页面可能在内存中从一个位置交换到另一个位置(软故障)。
软故障不会真正移动页面。 连续修剪流程工作集,并将页面置于“备用” 状态 。 它们保留了完全相同的物理位置,但是它们在内核中的描述符被标记为“备用”。 引用该页面的流程将产生“软故障”,这意味着页面描述符被“修复”,并且页面返回到流程工作集中。 在修整和软故障的整个过程中,从不将页面的内容实际移动到物理RAM中。
缓冲区高速缓存命中率:新请求的内存立即可用的频率
不,这意味着有多少个数据库页面请求在内存中找到该页面,而不必发出IO来从磁盘中获取该页面。
未完成的内存授予:“ SQL Server内存中正在等待内存授予的进程数”。
这是一个完全不同的主题。 在这里阅读: 了解SQL Server内存授予 。
目标/总服务器内存
阅读SQLOS的内存管理器和SQL Server的缓冲池 。 虽然有些陈旧,但仍然相当准确,特别是在SQL Server 2012之前。
当每个数据库实例配置为(几乎)总计所有可用物理内存的最大内存使用量时,会发生什么情况
这是SQL Server的预期操作模式。 它旨在捕获主机上的所有内存,然后自行对其进行管理。 这就是为什么未指示与SQL Server一起托管任何其他进程(例如,没有IIS,没有Exchange,没有AD域控制器,没有SSIS,没有RS,没有AS等)。 这也是为什么最好每台主机托管一个实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.