通過查看sql進程:
mysql> show processlist
發現多條語句狀態爲Writing to net
通過分析基本都是select 語句,都是查詢數據太數據庫返回網絡回寫慢,
查看mysql> show global variables like "max_allowed_packet" 只有32M,而我最大的表都100W級了;通過分析基本都是select 語句,都是查詢結果集太大返回網絡回寫慢,
1.是通過explain執行計劃優化sql --》是否有索引,是否走索引
2.是通過增加緩存
#max_allowed_packet 值設置過小將導致單個記錄超過限制後寫入數據庫失敗,且後續記錄寫入也將失敗,爲了數據完整性,需要考慮到事務因素。
mysql>set global max_allowed_packet = 512*1024*1024;
3.調大net_read_timeout / net_write_timeout
mysql服務器端等待從客戶端讀取數據 / 向客戶端寫入數據的最大時限,默認30秒。