SQL Server On Linux(20)—— SQL Server On Linux性能(6)——针对性能的配置(Linux层面)

本人新书上市,请多多关照:《SQL Server On Linux运维实战 2017版从入门到精通》

在这里插入图片描述

前面两篇大部分属于Windows和Linux平台公用,但是这一篇主要集中在Linux内核层面。因为本系列是Linux上的SQL Server(以2017、2019为主体)的介绍。

  完整的列表可以查阅官方文档:性能最佳实践和 Linux 上的 SQL Server 配置准则,这里挑一些重点选项来介绍一下。
  首先是要了解正在使用的Linux 版本是否针对某些选项已经默认开启了,比如Red Hat Linux,官方文档有这样的描述,因为是自动翻译所以有点不顺口,看得懂英文的就按英文来吧:
在这里插入图片描述
  然后本篇重点提一下下面几个配置项。

BIOS电源相关配置

  大概8年前看过一篇台湾的MVP写的troubleshooting的文章,大概内容是一台Windows+SQL Server的服务器,出现了性能问题,但是对数据库不管如何优化都没有效果,无意之中修改了一下Windows的电源选项,设置成高性能,问题就解决了。今天看来,你从结论当然可以推断出各种原因,什么省电模式会导致如何如何的问题。但是在那个网络还不是非常普及,搜索引擎也还不能搜出大量问题解决思路的年代,不得不感叹他的坚持和运气。
  那么换回Linux,其实原理是一样的。想要最大化性能,那么BIOS设置也尽可能为最大

虚拟环境配置事项

  现在越来越多系统运行在虚拟环境下,如果不熟悉虚拟环境,最好先了解特定虚拟环境的一些限制。特别是对虚拟CPU、NUMA还有虚拟机内的磁盘跟宿主机磁盘的关联关系,这些都直接影响性能。最最重要的一点是,不管使用什么虚拟机管理软件,对于生产系统而言,不要使用动态内存!这些由于跟具体虚拟软件有关,就不在这里多说了。

其他配置

  在Windows平台,有两个配置会影响SQL Server性能,一个是锁定内存页(lock pages in memory)即时文件初始化( instant file initialization )。对于Linux平台而言,这两者其实都不是必须的,因为Linux没有锁定内存页这个概念,使用memorylimitmb选项就可以避免内存问题和SQL Server进程的分页问题。针对Linux的即时文件初始化功能,SQL Server直接使用Linux API来实现同样功能,所以可以理解为Linux上自动实现数据文件的即时文件初始化。关于即时文件初始化可以看一下本人另外一篇文章:SQL Server On Linux中的即时文件初始化

发布了192 篇原创文章 · 获赞 1268 · 访问量 250万+

猜你喜欢

转载自blog.csdn.net/DBA_Huangzj/article/details/88684626
今日推荐