Buffer Pool污染造成的性能问题
2018-01-30 15:09
369 查看
背景:
一个数据库应用将数据库从阿里云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/
一个数据库应用将数据库从阿里云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/
相关文章推荐
- 忘记commit造成select查询的性能问题
- filter造成的性能问题
- 用DNSCrypt解决DNS污染造成的Dropbox无法连接问题
- 亲身经历:软件线程数量超过硬件线程数量造成的性能问题
- mysqldump造成Buffer Pool污染的研究
- Dynamic Parameters造成的linked server性能问题
- 缺少索引会带来三个问题,限制并发性、影响性能、还有可能造成死锁
- 为什么忘记commit也会造成select查询的性能问题
- 解决有缺陷的布局造成ListView性能大大降低的问题
- SQL 更新数据时触发器造成的性能问题
- Windows Server Backup 备份Exchange 2007/2010时会造成性能问题
- 为什么忘记 commit 也会造成 select 查询的性能问题
- 用DNSCrypt解决DNS污染造成的Dropbox无法连接问题
- mysqldump造成Buffer Pool污染的研究
- 为什么忘记 commit 也会造成 select 查询的性能问题
- mysqldump造成Buffer Pool污染的研究 [转]
- C#里面滥用String造成的性能问题
- clob加||隐式转换造成的性能问题
- latch free:cache buffer handles造成的SQL性能问题
- 为什么忘记commit也会造成select性能问题