影響mysql的效能主要方面

2021-08-20 19:53:56 字數 1519 閱讀 1601

sql查詢速度:效率低sql,資料庫的效能大多數約80%出自『慢查詢』造成的。大多數資料庫問題可以通過優化sql來解決

大量的併發和超高的cpu使用率:導致資料庫的連線數會被佔滿,超高的cpu使用率,因cpu資源耗盡而出現宕機。

磁碟io:資料庫效能瓶頸之一就是磁碟io,熱資料遠遠大於伺服器使用記憶體的情況下,磁碟io效能會突然下降,改進方法使用更快的磁碟裝置(ssd,raid卡等硬體)

網絡卡流量:網絡卡io被佔滿,千兆網絡卡(1000mb/8約等於100mb);解決辦法:1)減少從伺服器的數量,2)進行分級快取,3)避免使用 select* 進行查詢,沒必要查詢多餘字段浪費沒必要的流量,4)分離業務網路和伺服器網路。

大表影響:mysql版本<5.5建立索引會鎖表,>=5.5雖然不會鎖表但會引起主從延遲,修改表結構需要長時間鎖表的,會引起主從延遲

大事務來的影響:執行時間比較長,操作的資料比較多的事務,例如餘額寶收益;鎖定太多的資料,造成大量的堵塞和鎖超時,執行時間長,容易造成主從延遲;如何處理大事務,1)避免一次處理太多資料,可以分批,例如餘額寶可以分使用者一批一批處理;2)移除不必要在事務中的select操作,保持必要的寫操作

伺服器的硬體:cpu、記憶體

作業系統

資料庫儲存引擎的選擇(外掛程式式儲存引擎) 1)myisam:不支援事務,表級鎖;2)innodb:事務級儲存引擎,完美支援行鎖,事務acid特徵

資料庫引數配置:mysql有上百項引數

資料庫結構設計

購買mysql伺服器時需要考慮的問題

1、儲存空間大 

2、**低 

3、讀寫較慢 

4、最常見 

傳統機械硬碟讀取資料的過程

1、移動磁頭到磁碟表面上的正確位置 

2、等待磁碟旋轉、使用所需要的資料在磁頭之下 

3、等待磁碟旋轉過去,所有所需要的資料都被磁頭讀出

raid是磁碟冗餘佇列的簡稱 

簡單的來說raid的作用就是把多個容量較小的磁碟組成一組容量更大的磁碟,並提供資料冗餘來保證資料完整性的技術。減少了傳統磁碟損壞導致資料丟失的可能性。raid可設定級別,raid可以讓多個磁碟同時讀寫資料,大福提高吞吐量。

隨機讀寫:隨機讀寫是按你給的地點讀寫,(用 fseek 等函式找地點),可以在檔案的任何地方–開始處,檔案尾,檔案中部,前前後後地讀寫。順序讀寫 是從檔案開始處依次讀,從檔案尾開始依次寫。

ssd也稱為快閃儲存器,相比機械磁碟固態磁碟有更好的『隨機』讀寫效能。支援sata介面,可以替換傳統磁碟而不需要任何改變。注意如果sata3.0的ssd插到sata2.0介面上速度會受到影響。 

sata介面的ssd支援raid技術。 

相比機械磁碟固態磁碟能更好的支援併發。 

固態磁碟容易損壞 

適合: 

1、存在大量隨機i/o的場景。 

2、使用解決單執行緒負載i/o瓶頸。 

3、適合用在從伺服器上,因為從伺服器一般是單執行緒寫入,而主伺服器一般為多執行緒寫入。

san:訪問區域網路,通過光纖連線到伺服器的,伺服器再通過光纖介面訪問san,適合在大量順序讀寫,隨機讀寫會慢一些。

出處:

影響mysql的效能主要方面

併發量 同一時間資料庫伺服器處理的請求數量 同時連線量 比 併發量 大的多得多連線數會有上千,很多處於sleep狀態,好比nignx有很多請求連線,其中幾個是請求資料庫處理的,mysql連線數預設為100 max connections定義的,生成模式可以設定大一些,若連線數滿了,會出現500的錯誤...

MySQL 影響SQL效能的主要原因

第 一 影響mysql效能的幾個方面 1 伺服器硬體 2 伺服器系統 3 資料庫儲存引擎的選擇 4 資料庫引數配置 5 資料庫結構設計和sql語句 第二 cpu資源和可用記憶體大小 2.1 如何選擇cpu 主頻 2.5ghz 核心數量 18核36執行緒,倆者之間選其一 2.1.2 要檢視系統的併發量...

影響oracle效能的四個方面

影響oracle效能會有很多方面的原因,總體來說可以分為四個方面 1.硬體的環境 cpu,記憶體,網路傳輸條件等均會影響到oracle的效能.硬體方面的例子,不用舉例大家也會有所了解,這裡不再詳細說明.2.資料庫執行時的配置引數也會影響到oracle的效能.下面以我曾經給網通公司做的專案中涉及到的為...