基於MySQL INNODB的優化技巧

2022-05-25 05:45:12 字數 823 閱讀 3702

​ 回顧人們在開始工作之前,都會問自己這樣乙個問題:給你一台16g記憶體的innodb專用資料庫伺服器,如何配置才能讓其穩定、高效地給典型的web應用提供服務?

記憶體:記憶體對於innodb資料庫至關重要!16-32g記憶體

cpu:雖然cpu配置依賴於應用,但一般來說,就cpu來說,2*dual core cpus已是非常好的配置,若使用two quad core cpus 會增加一些擴充套件性的問題。

硬碟:一般來說,硬碟需要使用6-8個硬碟做成乙個raid就足夠了。raid10比raid5的效果要好。

innodb_buffer_pool_size:70-80%可用記憶體。

innodb_log_file_size:取決於您的恢復速度需求,一般來說256m已經足夠。

innodb_log_buffer_size:4m能滿足大多數情景,若使用很多大字段需適當增加該值,目前看到的狀況8m即可。

innodb_flush_log_at_trx_commit=2:若不關心事物的acid特性的話,在系統崩潰時,設定這個值可以在1~2秒中釋放事務。特別是在有較多短連線的情況下,該引數尤為重要。

innodb_thread_concurrency=8:即使當前的innodb可擴充套件性修復具有有限的併發性也有幫助。8這個資料能滿足大多數情況,但實際運用起來可能比這個值大也有可能比這個值小。

innodb_flush_method=o_direct:大多數情況下可提高效能,但沒有raid的話,會影響寫速度。

Java效能調優方法 基於等待的調優 三

基於等待的調優方法 建好了負載測試,接下來就是決定把調優精力放在何處。大多數調優指南都會提到 效能比率 或者度量之間的關係。例如,某調優指南可能強調說快取命中率應該達到80 或者更高,因此負載測試應用時調整快取大小直到命中率達到80 然後處理列表上的下乙個度量值,但是不要忘記驗證調整新的引數不會影響...

關於 Mysql innodb的索引

關於innodb的索引,可以分為聚簇索引,輔助索引,都是以b tree 為底層資料結構。聚簇索引 只是資料的儲存方法。以主鍵為key,如果表中沒有主鍵,則會選擇乙個有唯一索引的列作為key,如果都沒有,innodb會為我們建立乙個唯一列作為key。所有的資料都存在葉子節點上,並且是按順序儲存的。如果...

MySQL Innodb 索引的原理

回想四年前,我在學習mysql的索引這塊的時候,老師在講索引的時候,是像下面這麼說的 索引就像一本書的目錄。而當使用者通過索引查詢資料時,就好比使用者通過目錄查詢某章節的某個知識點。這樣就幫助使用者有效地提高了查詢速度。所以,使用索引可以有效地提高資料庫系統的整體效能。嗯,這麼說其實也對。但是呢,大...