1. 程式人生 > >Buffer Pool汙染造成的性能問題

Buffer Pool汙染造成的性能問題

pool 發現 5.6 查詢 sql 個數 index 索引 測試

背景:
一個數據庫應用將數據庫從阿裏雲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/

Buffer Pool汙染造成的性能問題