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中的即時文件初始化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章