Linux環境MySQL伺服器級最佳化講解

來源:互聯網
上載者:User

  摘要:本節簡單介紹了如何在伺服器級最佳化資料庫的效能,以及提高資料庫效能涉及到的硬體問題。選擇一個盡量快的系統,使用RAID磁碟陣列是非常容易想到的方法。對於資料庫精靈,既可以在編譯時間就提供合適的參數,也可以在選項檔案中提供需要最佳化的參數。

  標籤:MySQL最佳化 MySQL參數 伺服器級最佳化 MySQL資料庫

  前面各段介紹了普通的 MySQL 使用者利用表建立和索引操作,以及利用查詢的編寫能夠進行的最佳化。不過,還有一些只能由 MySQL 管理員和系統管理員來完成的最佳化,這些管理員在 MySQL 伺服器或運行 MySQL 的機器上具有控制權。有的伺服器參數直接適用於查詢處理,可將它們開啟。而有的硬體設定問題直接影響查詢處理速度,應該對它們進行調整。

  磁碟問題

  正如前面所述,磁碟尋道是一個效能的大瓶頸。當資料開始增長以致緩衝變得不可能時,這個問題變得越來越明顯。對大資料庫,在那你或多或少地要隨機存取資料,你可以依靠你將至少需要一次磁碟尋道來讀取並且幾次磁碟尋道寫入。為了使這個問題最小化,使用有低尋道時間的磁碟。

  為了增加可用的磁碟軸的數量(並且從而減少尋道開銷),符號聯結檔案到不同磁碟或分割磁碟是可能的。

  1、使用符號串連

  這意味著你將索引/資料檔案符號從正常的資料目錄連結到其他磁碟(那也可以被分割的)。這使得尋道和讀取時間更好(如果磁碟不用於其他事情)

  2、分割

  分割意味著你有許多磁碟並把第一塊放在第一個磁碟上,在第二塊放在第二個磁碟上,並且第 n塊在第(n mod number_of_disks)磁碟上,等等。這意味著,如果你的正常資料大小於分割大小(或完美地排列過),你將得到較好一些的效能。注意,分割是否很依賴於OS和分割大小。因此用不同的分割大小測試你的應用程式。見10.8 使用你自己的基準。注意對分割的速度差異很依賴於參數,取決於你如何分割參數和磁碟數量,你可以得出以數量級的不同。注意你必須選擇為隨機或順序存取最佳化。

  為了可靠,你可能想要使用襲擊RAID 0+1(分割+鏡像),但是在這種情況下,你將需要2*N個磁碟機來儲存N個磁碟機的資料。如果你有錢,這可能是最好的選擇!然而你也可能必須投資一些卷管理軟體投資以高效地處理它。

  一個好選擇是讓稍重要的資料(它能再生)上存在RAID 0磁碟上,而將確實重要的資料(像主機資訊和記錄檔)存在一個RAID 0+1或RAID N磁碟上。如果因為更新奇偶位你有許多寫入,RAID N可能是一個問題。

  你也可以對資料庫使用的檔案系統設定參數。一個容易的改變是以noatime選項掛裝檔案系統。這是它跳過更新在inode中的最後訪問時間,而且這將避免一些磁碟尋道。

  硬體問題

  可利用硬體更有效地改善伺服器的效能:

  1、在機器中安裝更多的記憶體。這樣能夠增加伺服器的快取和緩衝區的尺寸,使伺服器更經常地使用存放在記憶體中的資訊,降低從磁碟取資訊的要求。

  2、如果有足夠的 RAM 使所有交換在記憶體檔案系統中完成,那麼應該重新設定系統,去掉所有磁碟交換設定。否則,即使有足以滿足交換的 RAM,某些系統仍然要與磁碟進行交換。

  3、增加更快的磁碟以減少 I/O 等待時間。尋道時間是這裡決定效能的主要因素。逐字地移動磁頭是很慢的,一旦磁頭定位,從磁軌讀塊則較快。

  在不同的物理裝置上設法重新分配磁碟活動。如果可能,應將您的兩個最繁忙的資料庫存放在不同的物理裝置上。請注意,使用同一物理裝置上的不同分區是不夠的。這樣沒有協助,因為它們仍將爭用相同的實體資源(磁碟頭)。移動資料庫的過程在第 10 章中介紹。

  4、在將資料重新放到不同裝置之前,應該保證瞭解該系統的裝載特性。如果在特定的物理裝置上已經有了某些特定的主要活動,將資料庫放到該處實際上可能會使效能更壞。例如,不要把資料庫移到處理大量Web 通訊的Web 服務器裝置上。

  5、在設定 MySQL 時,應該配置其使用靜態庫而不是共用庫。使用共用庫的動態二進位系統可節省磁碟空間,但靜態二進位系統更快(然而,如果希望裝入使用者自訂的函數,則不能使用靜態二進位系統,因為 UDF 機制依賴於動態串連)。

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.