MySQL效能優化之swap占用高

2021-12-30 12:34:32 字數 566 閱讀 8078

mysql效能優化之swap占用高

在mysql的大資料量測試時,發現mysql單錶資料約超過4000萬行時出現效能拐點。查詢效能逐步下降,但下降還算緩慢。

繼續新增資料,又出現一次明顯的效能拐點。效能可謂是陡降,磁碟io顯著上公升,開始使用交換分割槽。

此時mysql的資料檔案和記憶體一般大!這不太可能吧,當資料檔案和記憶體一般大時就會出現效能下降?那以前伺服器記憶體小的時候,mysql豈不是不用幹了?

部分記憶體是被作業系統吃了。手動乾掉作業系統的檔案快取`echo 3 > /proc/sys/vm/drop_caches`,以為這樣會讓mysql可用記憶體更多。但結果並未見好轉,反而是快取剛被清是效能更差了。

經過一輪搜尋,原來是需要告訴作業系統盡可能的不要使用磁碟作交換:`echo 0 > /proc/sys/vm/swappiness`(更新到系統配置,在/etc/sysctl.conf上新增vm.swappiness = 0)。

此值預設為60,即(60%)。當然,設為0並非禁用,而是最大限度地使用物理記憶體。

ok,加此設定之後,mysql在更多資料量時也未出現swap交換的現象、效能隨資料量的增加平緩下降

Mysql之效能優化

mysql 資料庫效能優化之索引優化 大家都知道索引對於資料訪問的效能有非常關鍵的作用,都知道索引可以提高資料訪問效率。為什麼索引能提高資料訪問效能?他會不會有 是不是索引建立越多,效能就越好?到底該如何設計索引,才能最大限度的發揮其效能?這篇文章主要是帶著上面這幾個問題來做乙個簡要的分析,同時排除...

Mysql之效能優化

資料庫表的設計一般要遵循資料庫設計的三正規化,即第一正規化,第二正規化,第三正規化。第一正規化 1nf 資料庫表中的任一欄位都是單一的,不可再分的。換句話來說,就是資料庫表必須是一張二維表。第二正規化 2nf 資料庫表中的任一非關鍵字對任意候選關鍵字不存在部分函式依賴。部分函式依賴是指 候選關鍵字中...

效能優化之mysql索引優化

sql及索引優化 如何通過慢查詢日誌發現有問題的sql?查詢次數多且每次查詢占用時間長的sql 通常為pt query digest分析的前幾個查詢 io大的sql 注意pt query digest分析中的rows examine項 未命中索引的sql 注意pt query digest分析中ro...