看了一些優化mysql運維的一些書籍,在此記錄總結下:
進入mysql客戶端輸入以下sql:
1、連線設定
show variables like'%max_connection%';
show status
like
'%max_used_connections%
';
max_used_connections/max_connection <=85%,引數配置項的值可對照修改
2、儲存在堆疊中的連線數量
show variables like'%back_log%
';
back_log 預設為50 建議修改為 128~512
3、資料連線關閉前等待時間
show variables like'%timeout%
';
修改interactive_timeout wait_timeout 2項的值,預設為28800,建議修改為7200
4、索引緩衝區的大小
show status like'%read%
';
索引未快取命中率 key_read/key_request_reads ~=0.001~0.01
5、查詢緩衝區的大小(query_cache_size)
show variables like'%cache%';
show status
like
'%qcache%
';
快取碎片率 qcache_free_blocks/qcache_total_blocks <20%
快取利用率 (query_cache_size-qcache_free_memory)/query_cache_size<25%
快取命中率 qcache_hits/qcache_inserts>95%
6、順序讀、隨機讀、排序、連線緩衝區的大小,每個執行緒獨佔,建議設定為16mb
show status like'%buffer%
';
read_buffer_size
read_rnd_buffer_size
sort_buffer_size
join_buffer_size
7、表緩衝區大小
show status like'%tables%
';
table_cache 根據 open_tables opented_tables 大小來調整
8、記憶體表和臨時表
show status like'%table%
';
max_heap_table_size
tmp_table_size
記憶體表超過臨時表大小,才需要調整記憶體表的大小
9、磁碟上臨時表大小
show status like'%tmp%
';
(created_tmp_disk_tables/created_tmp_tables)*100<25%
10、快取執行緒的數量
show variables like'%tmp%
';
thread_cache_size
11、併發執行緒的數量
show variables like'%thread%
';
innodb_thread_concurrency (cpu+磁碟)數量的2倍
12、其他
資料和索引緩衝區的大小 innodb_buffer_pool_size 物理內容的80%
日誌緩衝區的大小 innodb_log_buffer_size 1~8mb
資料字段和其他資料結構的大小 innodb_additional_mem_pool_size 20mb
事物處理機制 innodb_flush_log_at_trx_commit
0 提交事物不寫入日誌,每秒日誌檔案寫入和flush磁碟
1 每秒或每次事物提交時,日誌檔案寫入 flush磁碟
2 每次事物提交時,日誌檔案寫入,每秒flush磁碟
mysql配置優化 MySQL配置效能優化
下面配置的優化,可能影響比較大,可能可以顯著提高讀寫效能。1 mysql一些主要配置項介紹 innodb buffer pool size 這是你安裝完innodb後第乙個應該設定的選項。緩衝池是資料和索引快取的地方 這個值越大越好,這能保證你在大多數的讀取操作時使用的是記憶體而不是硬碟。如果是純資...
mysql效能優化總結 四
mysql資料庫結構設計和sql優化 資料庫設計對效能的影響 1.過分的反正規化化設計為表建立太多的列 服務層和儲存引擎層之間通過反衝格式來拷貝資料和解析成列,列過多,帶來額外的cpu消耗 2.過分正規化化造成過多的表關聯,mysq最多支援61張表的關聯查詢,需要控制在10個以內 3.使用不恰當的分...
mysql效能優化總結 三
mysql體系結構 外掛程式式儲存引擎,將資料的查詢和儲存相分離.每一款儲存引擎都有各自的優缺點.可以靈活選用 架構 客戶端 mysql服務層 儲存引擎層 儲存引擎是針對表,不是針對庫,同一庫中的不同的表,可以使用不同的儲存引擎.但是不建議這樣做 儲存引擎的不同會對效能產生直接的影響.mysql常用...