通过内存和CPU进行SQL Server性能调优

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:
   SQL Server内存还会影响性能,而如果在SQL Server系统中有太多的内存就是浪费钱,内存太少就又对性能十分有害。遗憾的是,决定你什么时候在系统里需要更多的内存很灵活。当内存出现问题时,你就会发现disk I/O就会增加,同样磁盘列队也会增加。你也会发现buffer cache hit ratio减少、page life会延长。随着内存需求的增加,你就会开始发现日志文件里的错误信息。

  SQL Server内存的一个重要部分已经分开了,这样一来就造成了性能退化。持续时间:%n秒、工作组(KB):%w、committed (KB)::%c、内存利用:%u。

  SQL Server遇到了%o IO请求事件用15秒以上的时间在数据库[%d] (%i)里的[%f]文件上完成。OS文件处理为%h。偏移的最新IO 长度为: %l.。

  但是这并不是这些错误被报告的唯一的一次,所以你需要和性能监控器metric一起使用来测定内存是否真的太低。

  在处理SQL Server内存问题方面也有一些解决办法,最简单的就是解决办法就是扩大服务器内存增加可使用的buffer cache的数量。这样做就增加了内存数据量、减少了你的disk I/O。其他的解决办法包括迁移大空间表的集群式索引以及只使用这些表的非集群式的索引,包括Primary Key。

  在集群式索引用于查找并且使用了集群式的index seeks时就不同了。如果使用了另一个索引,它就不可能减轻任何内存压力,因为集群式的索引并没有在内存里。如果使用了集群式的index scans,那么在不迁移索引的情况下一个新的非集群式的索引可能会有用。

  如何监控CPU对列(CPU queuing)

  CPU是硬件的另一个部分,它能够导致潜在的性能问题。大多数人只看CPU的速度或数量。然而就如同磁盘一样,CPU能够成为瓶颈。如果出现了CPU瓶颈,你可能100%不会去查看CPU的性能。CPU拥有命令对列的方式就如同I/O对列一样。命令被下载到CPU队列中,并且执行之前的操作程序等待CPU变得可以使用。由于CPU的速度变得更快了,我们在CPU里面做任何事情的速度也就加快了,但是我们一次也只能做同样多的事情。现在我们可以使用双核、三核、四核以及多核的CPU。这样我们一次能够执行更多的命令。

  你可以利用SQL Server性能监控器监控你的CPU。你会在System目标下面发现PerfMon,它有一个计算器的名字“处理机队列长度”。几乎任何其他大于零的队列长度都表明你需要增加一些操作程序,这些操作程序是SQL Server都能同时执行的。但是这并不表明需要一个更快的CPU,而是需要一个更多核的CPU。今天最新的服务器每台服务器都支持32核,一些高级的服务器支持64核(当chase按比例范围共同支持64核时)也可以创建(仅仅是某些厂商)。

  在第一部分和第二部分里,我已经指出了硬件里的一些地方。这些技巧不是解决性能问题最全面的、最终的解决方案。表的设计和索引的调整经常是并且长期是非常重要的。今天的SQL Server有望在更长的时间内做更多的事情,这样才能使硬件调整对数据库平台更加重要。用arsenal里的一些工具解决性能问题,这样你就能从还未或已经行最小限度升级的现存的每项硬件性能。但是当你的确需要购买时,这些技巧有助于你作出正确的决策,做到物有所值。


    本文转自 Fanr_Zh 博客园博客,原文链接:http://www.cnblogs.com/Amaranthus/archive/2011/03/27/1997087.html,如需转载请自行联系原作者



相关文章
|
7月前
|
存储 缓存 网络协议
阿里云内存型实例规格性能、价格、适用场景与选型指南参考
阿里云服务器ECS(Elastic Compute Service)提供了多样化的内存型实例规格族,专为需要高性能内存资源的应用场景设计。从最新的r8a系列到经过优化的re6p系列,阿里云内存型实例旨在提供稳定、高效且安全的计算环境。这些实例不仅具备强大的计算性能与内存配比,还通过支持ESSD云盘和高效网络协议,显著提升了存储I/O能力和网络带宽,适用于大数据分析、高性能数据库、内存密集型应用等多种场景。本文将详细解析阿里云ECS中的多个内存型实例规格族,包括它们的核心特点、适用场景、实例规格及具体指标数据,为用户在选型时提供参考。
阿里云内存型实例规格性能、价格、适用场景与选型指南参考
|
2月前
|
SQL 关系型数据库 MySQL
为什么这些 SQL 语句逻辑相同,性能却差异巨大?
我是小假 期待与你的下一次相遇 ~
143 0
|
3月前
|
消息中间件 存储 关系型数据库
千亿消息“过眼云烟”?Kafka把硬盘当内存用的性能魔法,全靠这一手!
Apache Kafka 是由 LinkedIn 开发并捐赠给 Apache 基金会的分布式消息队列系统,具备高吞吐、可扩展和容错能力。其核心设计围绕主题、分区、分段和偏移量展开,通过顺序写入磁盘和 Page Cache 提升性能,广泛应用于大数据实时处理场景。
149 0
|
6月前
|
存储 缓存 分布式计算
高内存场景必读!阿里云r7/r9i/r8y/r8i实例架构、性能、价格多维度对比
阿里云针对高性能需求场景,一般会在活动中推出内存型r7、内存型r9i、内存型r8y和内存型r8i这几款内存型实例规格的云服务器。相比于活动内的经济型e和通用算力型u1等实例规格,这些内存型实例在性能上更为强劲,尤其适合对内存和计算能力有较高要求的应用场景。这些实例规格的云服务器在处理器与内存的配比上大多为1:8,但它们在处理器架构、存储性能、网络能力以及安全特性等方面各有千秋,因此适用场景也各不相同。本文将为大家详细介绍内存型r7、r9i、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
5月前
|
存储 弹性计算 固态存储
阿里云服务器配置费用整理,支持一万人CPU内存、公网带宽和存储IO性能全解析
要支撑1万人在线流量,需选择阿里云企业级ECS服务器,如通用型g系列、高主频型hf系列或通用算力型u1实例,配置如16核64G及以上,搭配高带宽与SSD/ESSD云盘,费用约数千元每月。
454 0
|
6月前
|
SQL 关系型数据库 PostgreSQL
CTE vs 子查询:深入拆解PostgreSQL复杂SQL的隐藏性能差异
本文深入探讨了PostgreSQL中CTE(公共表表达式)与子查询的选择对SQL性能的影响。通过分析两者底层机制,揭示CTE的物化特性及子查询的优化融合优势,并结合多场景案例对比执行效率。最终给出决策指南,帮助开发者根据数据量、引用次数和复杂度选择最优方案,同时提供高级优化技巧和版本演进建议,助力SQL性能调优。
575 1
|
弹性计算 安全 数据库
【转】云服务器虚拟化内存优化指南:提升性能的7个关键策略
作为云计算服务核心组件,虚拟化内存管理直接影响业务系统性能表现。本文详解了内存优化方案与技术实践,助您降低30%资源浪费。
163 0
【转】云服务器虚拟化内存优化指南:提升性能的7个关键策略
|
7月前
|
存储 分布式计算 安全
阿里云服务器内存型实例怎么选?r7/r8y/r8i实例性能、适用场景与选择参考
在选择阿里云服务器时,针对内存密集型应用和数据库应用,内存型实例因其高内存配比和优化的性能表现,成为了众多用户的热门选择。在目前阿里云的活动中,内存型实例主要有内存型r7、内存型r8y和内存型r8i实例可选。为了帮助大家更好地了解这三款实例的区别,本文将详细对比它们的实例规格、CPU、内存、计算、存储、网络等方面的性能,并附上活动价格对比,以便用户能够全面了解它们之间的不同,以供选择和参考。
|
6月前
|
存储 缓存 数据挖掘
阿里云服务器实例选购指南:经济型、通用算力型、计算型、通用型、内存型性能与适用场景解析
当我们在通过阿里云的活动页面挑选云服务器时,相同配置的云服务器通常会有多种不同的实例供我们选择,并且它们之间的价格差异较为明显。这是因为不同实例规格所采用的处理器存在差异,其底层架构也各不相同,比如常见的X86计算架构和Arm计算架构。正因如此,不同实例的云服务器在性能表现以及适用场景方面都各有特点。为了帮助大家在众多实例中做出更合适的选择,本文将针对阿里云服务器的经济型、通用算力型、计算型、通用型和内存型实例,介绍它们的性能特性以及对应的使用场景,以供大家参考和选择。

热门文章

最新文章