背景:
一個數(shù)據(jù)庫應用將數(shù)據(jù)庫從阿里云rds遷移到北京aws之后,發(fā)現(xiàn)所有的查詢都會慢
分析:
挑了幾個有問題的查詢語句,對比了執(zhí)行語句,索引、執(zhí)行計劃,發(fā)現(xiàn)執(zhí)行計劃,索引,建庫語句都是一樣的
難道數(shù)據(jù)庫版本,服務器參數(shù),數(shù)據(jù)庫參數(shù)有問題?
aws的數(shù)據(jù)庫版本為MySQL5.7,阿里云為MySQL5.6,另外aws rds在CPU,內存配置上比阿里云的更高。對比數(shù)據(jù)庫參數(shù)也無明顯差異。
創(chuàng)新互聯(lián)專注于網(wǎng)站建設,為客戶提供成都網(wǎng)站制作、網(wǎng)站設計、外貿網(wǎng)站建設、網(wǎng)頁設計開發(fā)服務,多年建網(wǎng)站服務經(jīng)驗,各類網(wǎng)站都可以開發(fā),品牌網(wǎng)站制作,公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設計,建網(wǎng)站費用,建網(wǎng)站多少錢,價格優(yōu)惠,收費合理。
難道是IO有問題,創(chuàng)建測試RDS,對北京AWS,海外AWS,阿里云的RDS分別做壓力測試,發(fā)現(xiàn)性能方面:北京aws>海外aws>阿里云aws,排除了IO問題,最終show processlist,定位到該數(shù)據(jù)庫有個定時任務在做大表聚合查詢操作,該表大概有100多G,有幾個查詢,居然查詢了2個多小時,還沒有查詢完畢,該操作嚴重污染了Buffer Pool,造成其他的查詢數(shù)據(jù),很快被置換出了內存。
參考:http://www.orczhou.com/index.php/2010/05/innodb-plugin-make-buffer-cache-scan-resistant/