MySQL效能調優

來源:互聯網
上載者:User

標籤:允許   線程   慢查詢日誌   mysql日誌   requests   效能   讀取   file   variable   

MySQL效能調優
提高MySQL系統的效能、影響速度
-替換硬體(CPU/磁碟/記憶體等)
-服務程式的運行參數調整
-對SQL查詢進行最佳化

並發及串連控制
-串連數、連線逾時
max_connections //允許的最大並發串連數
connect_timeout //等待建立串連的逾時秒數,預設10秒,只在登入時有效
wait_timeout //等待關閉串連的不活動逾時秒數,預設28800秒(8小時)

-產看當前已使用的串連數
mysql>flush status;
mysql>show globale status like "max_used_connections";

-查看預設的最大串連數
mysql>show variables like "max_connections";

-緩衝參數控制
緩衝區、線程數量、開表數量
key_buffer_size //用於MyISAM引擎的關鍵索引緩衝大小
sort_buffer_size //為每個要排序的線程分配此大小的緩衝空間
read_buffer_size //為順序讀取表記錄保留的緩衝大小
read_rnd_buffer_size //為按排序結果讀取表記錄保留的緩衝大小
thread_cache_size //允許儲存在緩衝中被重用的線程數量
table_open_cache //為所有線程緩衝的開啟的表的數量

key_buffer_size=8M
當key_reads/key_read_requests較低時可適當加大此緩衝值
mysql>show global status like "key_read%";
mysql>show variables like "key_buffer_size";

sort_buffer_size=256K
增大此值可提高ORDER和GROUP的速度
mysql>show variables like "sort_buffer_size";

查看錶記錄讀取緩衝
-此緩衝值影響SQL查詢的響應速度
mysql>show variables like "read_%_size";

查看可重用線程
mysql>show variables like "thread_%_size";

查看當前的線程重用狀態
mysql>show global status like "threads_%";

查看已開啟、開啟過多少個表
mysql>show global status like "open%tables";

查看可緩衝多少個開啟的表
mysql>show variables like "table_open_cache";

SQL查詢最佳化
MySQL日誌類型,常用日誌種類及選項:
錯誤記錄檔 log_error[=name] //記錄啟用/運行/停止過程的錯誤訊息
查詢日誌 general_log,general_log_file= //記錄用戶端串連和查詢操作
慢查詢日誌 slow_query_log,slow_query_log_file=,long_query_time= //記錄耗時較長或不使用索引的查詢操作

記錄慢查詢:
slow-query-log //啟用慢查詢
slow-query-log-file //指定慢查詢記錄檔
long-query-time //超過指定秒數(預設10秒)的查詢才被記錄
log-queries-not-using-indexes //記錄未使用索引的查詢

調整服務配置:
vim /etc/my.cnf
[mysqld]
...
slow_query_log=1
slow_query_log_file=mysql-slow.log
long_query_time=5
log_queries_not_using_indexes=1

systemctl restart mysqld

查看慢查詢日誌,使用mysqldumpslow工具
mysqldumpslow /var/lib/mysql/mysql-slow.log

查看緩衝的大小
mysql>show variables like "query_cache%";

查看當前的查詢快取統計
mysql>show global status like "qcache%";

MySQL效能調優

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.