背景:
一個數據庫應用將數據庫從阿里云rds遷移到北京aws之后,發現所有的查詢都會慢
分析:
挑了幾個有問題的查詢語句,對比了執行語句,索引、執行計劃,發現執行計劃,索引,建庫語句都是一樣的
難道數據庫版本,服務器參數,數據庫參數有問題?
aws的數據庫版本為MySQL5.7,阿里云為MySQL5.6,另外aws rds在CPU,內存配置上比阿里云的更高。對比數據庫參數也無明顯差異。
難道是IO有問題,創建測試RDS,對北京AWS,海外AWS,阿里云的RDS分別做壓力測試,發現性能方面:北京aws>海外aws>阿里云aws,排除了IO問題,最終show processlist,定位到該數據庫有個定時任務在做大表聚合查詢操作,該表大概有100多G,有幾個查詢,居然查詢了2個多小時,還沒有查詢完畢,該操作嚴重污染了Buffer Pool,造成其他的查詢數據,很快被置換出了內存。
參考:http://www.orczhou.com/index.php/2010/05/innodb-plugin-make-buffer-cache-scan-resistant/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。