国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據庫優化的方案與策略

2024-07-09 22:43:46
字體:
來源:轉載
供稿:網友

MySQL數據庫優化的方案與策略由軟件和硬件2方面進行:

第一,軟件:操作系統
不要交換區。如果內存不足,增加更多的內存或配置你的系統使用較少內存。
不要使用NFS磁盤(會有NFS鎖定的問題)。
增加系統和MySQL服務器的打開文件數量。(在safe_mysqld腳本中加入ulimit -n #)。
增加系統的進程和線程數量。
如果你有相對較少的大表,告訴文件系統不要將文件打碎在不同的磁道上(Solaris)。
使用支持大文件的文件系統(Solaris)。
選擇使用哪種文件系統。在Linux上的Reiserfs對于打開、讀寫都非??臁N募z查只需幾秒種。

  1.IO調度算法

  Linux有四種IO調度算法:CFQ,Deadline,Anticipatory和NOOP,CFQ是默認的IO調度算法。完全隨機的訪問環境下,CFQ與Deadline,NOOP性能差異很小,但是一旦有大的連續IO,CFQ可能會造成小IO的響應延時增加,所以數據庫環境建議修改為deadline算法,表現更穩定。我們的環境統一使用deadline算法。

  IO調度算法都是基于磁盤設計,所以減少磁頭移動是最重要的考慮因素之一,但是使用Flash存儲設備之后,不再需要考慮磁頭移動的問題,可以使用NOOP算法。NOOP的含義就是NonOperation,意味著不會做任何的IO優化,完全按照請求來FIFO的方式來處理IO.

  減少預讀:/sys/block/sdb/queue/read_ahead_kb,默認128,調整為16.

  增大隊列:/sys/block/sdb/queue/nr_requests,默認128,調整為512.

  2.NUMA設置

  單機單實例,建議關閉NUMA,關閉的方法有三種:

  (1) 硬件層,在BIOS中設置關閉。

  (2) OS內核,啟動時設置numa=off.

  (3) 可以用numactl命令將內存分配策略修改為interleave(交叉),有些硬件可以在BIOS中設置。



第二,硬 件
如果你需要龐大的數據庫表(>2G),你應該考慮使用64位的硬件結構,像Alpha、Sparc或即將推出的IA64。因為MySQL內部使用大量64位的整數,64位的CPU將提供更好的性能。

對大數據庫,優化的次序一般是RAM、快速硬盤、CPU能力。

更多的內存通過將最常用的鍵碼頁面存放在內存中可以加速鍵碼的更新。

如果不使用事務安全(transaction-safe)的表或有大表并且想避免長文件檢查,一臺UPS就能夠在電源故障時讓系統安全關閉。

對于數據庫存放在一個專用服務器的系統,應該考慮1G的以太網。延遲與吞吐量同樣重要。

  1.開啟BBWC

  RAID卡都有寫cache(Battery Backed Write Cache),寫cache對IO性能的提升非常明顯,因為掉電會丟失數據,所以必須由電池提供支持。電池會定期充放電,一般為90天左右,當發現電量低于某個閥值時,會將寫cache策略從writeback置為writethrough,相當于寫cache會失效,這時如果系統有大量的IO操作,可能會明顯感覺到IO響應速度變慢。目前,新的RAID卡內置了flash存儲,掉電后會將寫cache的數據寫入flash中,這樣就可以保證數據永不丟失,但依然需要電池的支持。

  解決方案有兩種:

  (1)人工觸發充放電,可以選擇在業務低谷時做,降低對應用的影響。

  (2)設置寫cache策略為force write back,即使電池失效,也保持寫cache策略為writeback,這樣存在掉電后丟失數據的風險。

  目前,有一些硬件廠家提供了電容供電的RAID卡,沒有電池充放電的問題,可以聯系自己的硬件廠商。

  2.RAID卡配置

  關閉讀cache:RAID卡上的cache容量有限,我們選擇direct方式讀取數據,從而忽略讀cache.

  關閉預讀:RAID卡的預讀功能對于隨機IO幾乎沒有任何提升,所以將預讀功能關閉。

  關閉磁盤cache:一般情況下,如果使用RAID,系統會默認關閉磁盤的cache,也可以用命令強制關閉。

  以上設置都可以通過RAID卡的命令行來完成,比如LSI芯片的RAID卡使用megacli命令。

  3.開啟Fastpath功能

  Fastpath是LSI的新特性,在RAID控制器為SSD做了了優化,使用fastpath特性可以最大程度發揮出SSD的能力。如果使用SSD做RAID的方式,可以開啟fastpath功能。關于fastpath特性,可以從LSI官網下載資料,并咨詢自己的硬件提供商。

  4.Fusionio參數調整

  基本上,Fusionio無需做任何調整,下列三個參數可能會提升性能:

  options iomemory-vsl use_workqueue=0

  對于fusionio設備,忽略Linux IO調度,相當于使用NOOP.

  options iomemory-vsl disable-msi=0

  開啟MSI中斷,如果設備支持,則打開。

  options iomemory-vsl use_large_pcie_rx_buffer=1

  打開Large PCIE buffer,可能會提升性能。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芦溪县| 墨脱县| 沅江市| 武宣县| 望都县| 鄂州市| 鄂伦春自治旗| 宜章县| 青河县| 达拉特旗| 百色市| 绥德县| 堆龙德庆县| 锦州市| 象州县| 定远县| 密山市| 灵寿县| 南木林县| 五常市| 白水县| 邵阳县| 辛集市| 大悟县| 临高县| 阆中市| 赤城县| 长阳| 鹤峰县| 云梦县| 浙江省| 潜江市| 京山县| 汪清县| 辽阳市| 错那县| 西盟| 宁河县| 阿拉尔市| 武胜县| 仁怀市|