MySql性能優化 - 基本性能優化方向

Mysql性能優化 - 基本性能優化方向
1.影響性能的因素
// 影響數據庫性能幾個因素, 如表,查詢和配置設置:在硬件層面,這些軟件結構導致CPU和I / O操作,所以必須盡量減少并盡可能高效。在處理數據庫性能時,首先要了解軟件方面的高級規則和準則,并使用執行時間來衡量性能。為了更好的性能,我們需要了解更多Mysql內部發生的事情,并開始檢測CPU周期和I / O操作。 // 性能優化的兩個出發點 第一類:從現有的軟件和硬件配置中獲得最佳的數據庫性能。 第二類:通過改寫mysql源碼,優化mysql本身,或者開發自己的存儲引擎和硬件設備來擴展mysql
1
2
3
4
5
6
2.從數據庫層面進行優化
數據庫的最基本優化是其基本設計結構的優化。 1.每個事物是否有正確的設計數據結構(也就是表是否有正確設計的字段),更重要的是,每個字段是否有正確的數據類型(也就是字段類型)。 2.這個表是不是設計了正確而且高效的索引來提高性能 3.這個表是否根據業務使用了正確的存儲引擎,比如查詢型表使用 MyISAM 引擎,事務型表使用 InnoDB 存儲引擎(但是事情卻不總是這樣的,在操作較多的情況下,優化過的 InnoDB 的性能卻是比簡單的 MyISAM 高的) 4.某個字段是否合理使用壓縮,來降低對磁盤的I/O操作 5.配置合理的緩存參數,讓他足以滿足對數據的訪問需求,但也不能太大,這樣會引起物理內存過載。主要配置的三個點是InnoDB 緩存池,MyISAM 密鑰緩存和 mysql 查詢緩存。
1
2
3
4
5
6
3.從硬件層面進行優化
隨著數據庫訪問次數的增加,所有的操作都將要受到硬件的限制,所以,你應該評估是否應該調整應用程序或者重新配置服務器來避免這些硬件瓶頸,再或者升級硬件。 硬件層面主要是如下幾個問題。 1.尋找數據,現在主流的磁盤理論上可以做到1秒內進行100次的尋找。但是如果需要更好的性能,你可以選擇使用更好的磁盤,或者把數據分發到多個磁盤上。 2.讀取數據,現在主流的磁盤在速度上大概可以達到10-20MB每秒的速度。但是當持續高負載訪問的時候,這個數值會降低(你的U盤寫著每秒20MB傳輸速度,可是實際上當你傳輸一個10GB的文件時,你的傳輸速度可能維持在4MB每秒,如果這10GB文件是10萬個時,速度可能只有幾百KB每秒,深有體會,不多說)。 3.CPU性能,某些占用內存很多的表會出現這個瓶頸,一般的表不會。 4.內存帶寬,有些極端的情況是,CPU需要的數據超過了CPU的緩存,比如普通的筆記本三級緩存一般4MB,好點的8MB。這個情況極少發生,但并不是沒有。
1
2
3
4
5
6
7
MySQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。