MySQL伺服器硬體和作業系統優化

姬子玉發表於2017-12-08

1. 擁有足夠的實體記憶體來把整個InnoDB檔案載入到記憶體中——在記憶體中訪問檔案時的速度要比在硬碟中訪問時快的多。 2. 不惜一切代價避免使用Swap交換分割槽 – 交換時是從硬碟讀取的,它的速度很慢。

1. 擁有足夠的實體記憶體來把整個InnoDB檔案載入到記憶體中——在記憶體中訪問檔案時的速度要比在硬碟中訪問時快的多。

2. 不惜一切代價避免使用Swap交換分割槽 – 交換時是從硬碟讀取的,它的速度很慢。

3. 使用電池供電的RAM(注:RAM即隨機儲存器)。

4. 使用高階的RAID(注:Redundant Arrays of Inexpensive Disks,即磁碟陣列) – 最好是RAID10或更高。

5. 避免RAID5(注:一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案) – 確保資料庫完整性的校驗是要付出代價的。

6. 將作業系統和資料分割槽分開,不僅僅是邏輯上,還包括物理上 – 作業系統的讀寫操作會影響資料庫的效能。

7. 把MySQL臨時空間和複製日誌與資料放到不同的分割槽 – 當資料庫後臺從磁碟進行讀寫操作時會影響資料庫的效能。

8. 更多的磁碟空間等於更快的速度。

9. 更好更快的磁碟。

10. 使用SAS(注: Serial Attached SCSI,即序列連線SCSI)代替SATA(注:SATA,即串列埠硬碟)。

11. 較小的硬碟 比 較大的硬碟快,尤其是在RAID配置的情況下。

12. 使用電池支援的快取記憶體RAID控制器。

13. 避免使用軟體磁碟陣列。

14. 考慮為資料分割槽使用固態IO卡 (不是磁碟驅動器) – 這些卡能夠為幾乎任何數量的資料支援2GB/s的寫入速度。

15. 在Linux中設定swappiness的值為0 – 在資料庫伺服器中沒有理由快取檔案,這是一個伺服器或桌上型電腦的優勢。

16. 如果可以的話,使用 noatime 和 nodirtime 掛載檔案系統 – 沒有理由更新訪問資料庫檔案的修改時間。

17. 使用 XFS 檔案系統 – 一種比ext3更快、更小的檔案系統,並且有許多日誌選項, 而且ext3 已被證實與MySQL有雙緩衝問題。

18. 調整 XFS 檔案系統日誌和緩衝變數 – 為了最高效能標準。

19. 在 Linux 系統中, 使用 NOOP 或者 DEADLINE IO 定時排程程式 – 同 NOOP 和 DEADLINE定時排程程式相比,這個 CFQ 和 ANTICIPATORY 定時排程程式 顯得非常慢。

20. 使用64位的作業系統 – 對於MySQL,會有更大的記憶體支援和使用。

21. 刪除伺服器上未使用的安裝包和守護程式 – 更少的資源佔用。

22. 把使用MySQL的host和你的MySQL host放到一個hosts檔案中 – 沒有DNS查詢。

23. 切勿強制殺死一個MySQL程式 – 你會損壞資料庫和正在執行備份的程式。

24. 把伺服器貢獻給MySQL – 後臺程式和其他服務能夠縮短資料庫佔用CPU的時間。  




原文連結


相關文章