MySQL 5.5版本注意大内存导致DDL变慢的问题

最近在协助用户进行系统重构,RDS测试选型自然成为了本项目的一个重点,但是用户在测试不同规格的时候发现大规格的实例性能居然不如小规格,4C32G规格性能比8C64G规格高出10%,其性能监控也是非常的正常,4C32G规格是8C64G规格资源消耗的一半,TPS也是相当,那问题到底出现在那里?

CPU消耗对比:

TPS监控:

从监控上没有看出端倪后,我们怀疑用户的业务测试模型可能不一致,所以采取分析SQL审计日志来分析问题,把top sql拿出来对比就可以一目了然问题的所在,所以重新开启压测,使用我们的专家分析系统来分析SQL日志,结果让人大吃所惊,一条truncate 语句映入眼:

可以看到truncate 语句在8C64G的规格中执行慢了30秒左右,这个时间恰好是整个测试相差的时间,为什么规格越大反而DDL truncate越慢?这个问题其实在5.5版本存在的一个问题,可以参考在2015年双11时候写过的一篇文章:RDS弹性升级后性能反而下降的案例,所以解决方案只要把实例升级到5.6就可以了。在这次问题排查中使用了很重要的SQL审计日志来发现两个实例规格的性能差异,该功能已经集成到RDS的专家系统中,帮助用户更好的分析使用数据库。

时间: 2024-08-04 03:19:35

MySQL 5.5版本注意大内存导致DDL变慢的问题的相关文章

MySQL 5.5.49 大内存优化配置文件优化详解_Mysql

一.配置文件说明 my-small.cnf my-medium.cnf my-large.cnf my-huge.cnf my-innodb-heavy-4G.cnf  二.详解 my-innodb-heavy-4G.cnf三.配置文件优化 注:环境说明,CentO5.5 x86_64+MySQL-5.5.32 相关软件下载:http://yunpan.cn/QtaCuLHLRKzRq 一.配置文件说明 Mysql-5.5.49是Mysql5.5系列中最后一个版本,也是最后一个有配置文件的版本,

mysql大内存高性能优化方案

8G内存下MySQL的优化 按照下面的设置试试看: key_buffer = 3840M max_allowed_packet = 16M table_cache = 1024 sort_buffer_size = 32M read_buffer_size = 32M read_rnd_buffer_size = 32M myisam_sort_buffer_size = 256M thread_cache_size = 32 query_cache_size = 256M # Try numb

xcode5&6版本debug功能内存显示不完整问题 求大神帮忙

问题描述 xcode5&6版本debug功能内存显示不完整问题 求大神帮忙 school里面包含一个对象数组 里面应该有值的 而且也输出值了 但是我的调试界面永远不显示值 重装xcode 和 重建用户 也无法解决这个问题 在别的机子上就可以显示出来 求大神支招! 如了个图:

分享下mysql各个主要版本之间的差异

因为mysql的版本较多,而且又被oracle公司收购,所有很多朋友不是很清楚各个版本的区别,这里简单介绍下,方便需要的朋友   一.各版本的常用命令差异 show innodb statusG mysql-5.1 show engines innodb statusG mysql-5.5 关于grant授权 mysql-5.5 的 user@'%'不包含localhost 二.MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 mysql-server-4.1 增加了子查询的支

分享下mysql各个主要版本之间的差异_Mysql

一.各版本的常用命令差异 show innodb status\G mysql-5.1 show engines innodb status\G mysql-5.5 关于grant授权 mysql-5.5 的 user@'%'不包含localhost 二.MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别 mysql-server-4.1 增加了子查询的支持,字符集增加UTF-8,GROUP BY语句增加了ROLLUP,mysql.user表采用了更好的加密算法,innodb开始

【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)

原创 2016-09-12 熊军  [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage) 熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC Server发展到今天,在性能方面有着长足的进步.64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server:在Intel和AMD两大处理器巨头的努力下,x86 CPU在处理能力上不断提升:同时随着制造工艺的发展,在PC Server上能够安装的内存容量也越来越大,现在随处

怎么看主板支持多大内存?

  由于工作中经常需要同时打开很多软件和网页,导致电脑内存占用经常达到80%以上,电脑明显变的很卡,于是打算升级,换一根大内存.但这里需要考虑一个问题:主板支持多大内存?由于主板支持的内存大小是有限制的,如果购买的内存过大,主板不兼容就麻烦了,下面小编为大家介绍2种查看主板支持多大内存方法,希望对需要升级电脑内存或者新装机的朋友有所帮助. 怎么看电脑主板支持多大内存?很多小白被问到这个问题会一脸茫然,对于一些对电脑比较熟悉的朋友,可能会想到通过查找主板参数了解.这是一种方法,不过还有更简单的方法

spring mvc-springmvc配置mysql哪里错了,求大神帮忙

问题描述 springmvc配置mysql哪里错了,求大神帮忙 db.properties: driver=com.mysql.jdbc.Driver url=jdbc:mysql://114.215.207.30:3306busticket?useUnicode=true&characterEncoding=UTF-8 username=PBDB password=PBDB springmvc-servlet.xml: <?xml version="1.0" encod

mysql 查询数据量过大时,索引失效,怎么强制使用索引

问题描述 mysql 查询数据量过大时,索引失效,怎么强制使用索引 解决方案 MYSQL强制使用索引和禁止使用索引mysql 强制索引mysql强制索引 解决方案二: 你的sql语句是否有合法的应用到索引,是不是导致索引失效