2012年4月19日 星期四

MySQL 效能調教相關知識

先留一些資料下來。

1、關於 MySQL的記憶體使用量計算

轉貼文章內提到的資訊:
MySQL 記憶體需求量的計算
min_memory_needed = global_buffers + (thread_buffers * max_connections)

(1) global_buffers 包含:

key_buffer
innodb_buffer_pool
innodb_log_buffer
innodb_additional_mem_pool
net_buffer

(2) thread_buffers 包含:

sort_buffer
myisam_sort_buffer
read_buffer
join_buffer
read_rnd_buffer



2、MYSQL再調整

轉貼裡面一開始提到的資料庫常見的效能瓶頸:

(1) 磁碟搜尋能力
(2) 硬碟讀寫速度
(3) CPU負責處理記憶體中的資料,這是最常見的效能限制。
(4) 記憶體的限制

文章內有不少有關 MySQL 設定的參數意義的說明。


3、How is join_buffer_size allocated?

這篇提到一個應該是蠻重要的資訊:MySQL 中對於每個 thread 分派的記憶體分為兩種處理類型。一種是不管使用多少,只要新的 thread 一出現就馬上分配完整的記憶體給它(sort_buffer_size 就是屬於這種);一種是設定最大值,新的 thread 出現時視需要分配記憶體,最多不會超過最大值。

4、Tuning MySQL Server Settings

沒有留言: