mysql提升事务性能-阿里云开发者社区

开发者社区> 沉默王二> 正文

mysql提升事务性能

简介: mysql提升事务性能
+关注继续查看

最近的项目使用了spring和mysql,但在性能上出了问题,刚开始一直不能找到瓶颈在哪里,就不断的摸索,经过一系列的测试后,确定了在使用spring的transactionnal的注解时,mysql提交事务时花费的时候几乎是用了100ms,这是让人很难接受的。


     刚开始怀疑是不是我们的在使用spring的事务管理器上有问题,后来有怀疑是不是对于@Transactional注解的使用上有问题,但是没有得到实质性的突破,终于在今天早上看到了关于mysql的事务优化方面的博客,最后经过测试发现,经过以下做法修改后,性能的提升是显而易见的。



使用以下命令进行修改mysql的配置

show variables like 'innodb_flush_log_at_trx_commit';
set global innodb_flush_log_at_trx_commit = 2;
show variables like 'innodb_flush_log_at_trx_commit';



具体解释如下:



innodb_flush_log_at_trx_commit属性主要控制了innodb将log buffer中的数据写入日志文件,并且刷新磁盘的时间点,取值有0、1(mysql默认值)、2。


0:事务提交时,不做日志写入操作,而是每秒钟将log buffer中的日志写入文件并且flush磁盘一次。


1:每秒钟或者事务提交时,都会引起日志写入和flush磁盘操作,这样设计也是最安全的。


2:每次事务提交时,进行日志写入,但此时没有flush磁盘操作,而是在每秒钟时进行flush磁盘操作。



在设置mysql的innodb_flush_log_at_trx_commit属性为2时,每次提交事务时,就没有引起flush磁盘操作,这样的话,就会节省很多时间,我们的项目中平均40ms处理完一次操作,而该操作完了以后会释放事务,如此来说,1s钟内就省去了磁盘刷新的时间。而原来的这种情况下,事务提交一般都要花费40ms的时间,在多并发的情况下,甚至达到了200ms的时间,这是非常可怕的事情,而现在,普通情况下,一次事务提交所花费的时间就基本控制在个位毫秒级别上。



当然查看资料后,将innodb_flush_log_at_trx_commit设置为


0:mysql进程崩溃时,会丢失数据


1:每次事务日志缓冲都会写入磁盘


2:操作系统崩溃、断电情况下,会丢失最后一秒钟内的数据



以上情况需要根据所处的软件环境而定,而我们项目中目前设置为2已经足够了。


开心。。。。。。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
OceanBase数据库漫谈
从开发视角、运维视角、数据拆分漫谈OceanBase
24 0
基于 H5 Canvas "指纹识别" 技术 【浏览器指纹 VS Canvas指纹】
基于 H5 Canvas "指纹识别" 技术 【浏览器指纹 VS Canvas指纹】
4 0
魏红斌冬季实战营第一期:玩转云服务器(有干货)
本文均为本人实操整理,请勿搬运,学习交流可以随时评论---魏红斌
7 0
【mockito】单元测试之mockito简单使用
项目使用的是springmvc+mybatis 开发; mock包为 mockito-all;虽然也引用了powermock,但截至目前,还未使用到;如果使用到后续再补相关笔记。
18 0
【Typescript入门手册】类型进阶
【Typescript入门手册】类型进阶
4 0
祝贺!我的同事李飞飞当选ACM Fellow、IEEE Fellow
因在数据库查询处理和优化以及云数据库系统方面所做出的卓越贡献而入选
3 0
Python 初识 | 学习笔记
快速学习 Python 初识
5 0
【Linux:开源操作系统】
主要内容 一、 关闭Windows防火墙 关闭Windows防火墙,不要使用wifi共享精灵等软件。 二、 Linux简介
3 0
什么是前端开发?什么是后端开发?
什么是前端开发?什么是后端开发?
5 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
1084
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载