您好,登錄后才能下訂單哦!
本文主要給大家簡單講講如何對MySQL性能實現調優,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望如何對MySQL性能實現調優這篇文章可以給大家帶來一些實際幫助。
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性能實現調優就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。