1.連線請求的變數:
a.max_connections
如果伺服器的併發連線請求量比較大,建議調高此值,以增加並行連線數量,
當然這建立在機器能支撐的情況下,因為如果連線數越多,介於mysql會為每個連線提供連線緩衝區,就會開銷越多的記憶體,所以要適當調整該值,不能盲目提高設值。
數值過小會經常出現error 1040: too many connections錯誤
(1)如果max_used_connections跟max_connections相同 那麼就是max_connections設定過低或者超過伺服器負載上限了
(2)max_used_connections / max_connections * 100% ,低於10%則設定過大
b.back_log
mysql能暫存的連線數量
當主要mysql執行緒在乙個很短時間內得到非常多的連線請求,這就起作用
如果mysql的連線資料達到max_connections時,新來的請求將會被存在堆疊中,以等待某一連線釋放資源,該堆疊的數量即back_log,
如果等待連線的數量超過back_log,將不被授予連線資源。
back_log值指出在mysql暫時停止回答新請求之前的短時間內有多少個請求可以被存在堆疊中。
只有如果期望在乙個短時間內有很多連線,你需要增加它,換句話說,這值對到來的tcp/ip連線的偵聽佇列的大小。
主機程序列表(mysql> show full processlist),發現大量264084 | unauthenticated user | ***.***.***.*** | null | connect | null | login | null 的待連線程序時,就要加大back_log 的值了。
預設數值是50,可調優為128,對於linux系統設定範圍為小於512的整數。
c.interactive_timeout
乙個互動連線在被伺服器在關閉前等待行動的秒數。
乙個互動的客戶被定義為對mysql_real_connect()使用client_interactive 選項的客戶。
預設數值是28800,可調優為7200。
2.緩衝區變數
全域性緩衝:
a.key_buffer_size
key_buffer_size指定索引緩衝區的大小,它決定索引處理的速度,尤其是索引讀的速度。
通過檢查狀態值key_read_requests和key_reads,可以知道key_buffer_size設定是否合理。
比例key_reads / key_read_requests應該盡可能的低,至少是1:100,1:1000更好(上述狀態值可以使用show status like 『key_read%』獲得)。
key_buffer_size只對myisam表起作用。即使你不使用myisam表,但是內部的臨時磁碟表是myisam表,也要使用該值。
可以使用檢查狀態值created_tmp_disk_tables得知詳情。
一共有10785208個索引讀取請求,有853個請求在記憶體中沒有找到直接從硬碟讀取索引,計算索引未命中快取的概率:
key_cache_miss_rate =key_reads / key_read_requests * 100%=853/10785208*100%,設定在1/1000左右較好
預設配置數值是8388600(8m),主機有4gb記憶體,可以調優值為268435456(256mb)。
mysql配置優化 MySQL配置效能優化
下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。1 mysql一些主要配置項介紹 innodb buffer pool size 這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方 這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資...
Mysql優化配置
mysql配置優化 一 環境介紹 mysql版本 5.6.23 二 優化內容 字段介紹 推薦值skip locking 避免mysql 的外部鎖定,減少出錯機率增強穩定性 back log mysql可能的連線數量 linux下推薦小於 512 384key buffer size key buff...
Mysql優化配置
mysql配置優化 一 環境介紹 mysql版本 5.5.27 二 優化內容 字段介紹 推薦值skip locking 避免mysql 的外部鎖定,減少出錯機率增強穩定性 back log mysql可能的連線數量 linux下推薦小於 512 key buffer size key buffer ...