`
wenson
  • 浏览: 1041352 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql innodb数据库的优化

阅读更多

硬件概況:

linux服务器,64位4核cpu,8g内存。

 

主要參數:

innodb_buffer_pool_size
这个参数很重要,越大越好,对于专用的数据库服务器一般建议开服务器内存的50%以上。

query_cache_size
查询缓存,对于查询的性能提高有很大帮助,但不宜开得过大,查询缓存的过期可能很频繁,过大查询缓存反而降低性能,增加服务器开销

innodb_flush_method
针对InnoDB的数据文件,关闭操作系统的文件缓冲,由于InnoDB自己有巨大的Buffer Pool,操作系统对文件的读写缓冲功能反而会降低MySQL的InnoDB的IO性能。

作用:Innodb和系统打交道的一个IO模型
分配原则:Windows不用设置。
Unix可以设置:fsync() or O_SYNC/O_DSYNC
如果系统可以禁止系统的Cache那就把他禁了。
Linux可以选择:O_DIRECT
直接写入磁盘,禁止系统Cache了

 

innodb_flush_logs_at_trx_commit
作用:控制事务的提交方式
分配原则:这个参数只有3个值,0,1,2请确认一下自已能接受的级别。默认为1,主库请不要更改了。
性能更高的可以设置为0或是2,但会丢失一秒钟的事务。
说明:
这个参数的设置对Innodb的性能有很大的影响,所以在这里给多说明一下。
当这个值为1时:innodb 的事务LOG在每次提交后写入日值文件,并对日值做刷新到磁盘。这个可以做到不丢任何一个事务。
当这个值为2时:在每个提交,日志缓冲被写到文件,但不对日志文件做到磁盘操作的刷新,在对日志文件的刷新在值为2的情况也每秒发生一次。但需要注意的 是,由于进程调用方面的问题,并不能保证每秒100%的发生。从而在性能上是最快的。但操作系统崩溃或掉电才会删除最后一秒的事务。
当这个值为0时:日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作。mysqld进程的崩溃会删除崩溃前最后一秒的事务。

从以上分析,当这个值不为1时,可以取得较好的性能,但遇到异常会有损失,所以需要根据自已的情况去衡量。

 

innodb_log_file_size
作用:指定日值的大小
分配原则:几个日值成员大小加起来差不多和你的innodb_buffer_pool_size相等。上限为每个日值上限大小为4G.一般控制在几个LOG文件相加大小在2G以内为佳。具体情况还需要看你的事务大小,数据大小为依据。
说明:这个值分配的大小和数据库的写入速度,事务大小,异常重启后的恢复有很大的关系。
设置方法:
innodb_log_file_size=256M


innodb_log_files_in_group
作用:指定你有几个日值组。
分配原则: 一般我们可以用2-3个日值组。默认为两个。
设置方法:
innodb_log_files_in_group=3

 

 

优化如下——

#innodb_buffer_pool_size         = 2G
innodb_buffer_pool_size         = 4G
innodb_log_file_size            = 256M
#innodb_log_file_size            = 128M
innodb_log_files_in_group       = 3
#innodb_log_files_in_group       = 2
innodb_flush_method             = O_DIRECT
0
0
分享到:
评论

相关推荐

    MySQL数据库设计、优化.pptx

    MySQL数据库设计、优化 叶金荣 微博: @yejinrong 微信公众号: MySQL中文网 QQ群: 125572178、272675472 2013.08.20 MySQL数据库设计、优化全文共24页,当前为第1页。 提纲 规范 基础规范 命名规范 库表规范 字段...

    Mysql InnoDB删除数据后释放磁盘空间的方法

    Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长。 如果在创建数据库的时候设置innodb_file_per_table=1,这样InnoDB会对每个表创建一个数据文件,...

    MYSQL数据库优化秘籍

    MYSQL数据库优化秘籍,大牛出的,值得你反复研读 MySQL在Linux环境下的安装 文件引擎MyISAM与InnoDB比较 LOAD DATA INFILE/mysqldump DBA的分析命令 MySQL的系统配置参数、诊断操作系统的状态 MySQL的分库分表,分区...

    MySQL Innodb锁解决并发问题

    MySQL Innodb锁解决并发问题.pdf

    浅谈MySQL数据库性能优化

    本文侧重通过优化MySQL 数据库缓存参数如查询缓存,表缓存,日志缓存,索引缓存,innodb缓存,插入缓存,以及连接参数等方式来对MySQL数据库进行优化。  缓存参数  这里先引用一句话,从内存中读取一个数据的...

    mysql innodb的监控(系统层,数据库层)

    mysql innodb的监控(系统层,数据库层) 关于MySQL 的监控,mysql提供了数据采集的命令,比如show status命令或者读取数据库informat_schema的GLOBAL_STATUS对象;也可以用一些现成的监控工具进行查询,目前用的...

    MySQL优化之InnoDB优化

    InnoDB是为Mysql处理巨大数据量时的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。在数据量大的网站或是应用中Innodb是倍受青睐的。那么它就不需要优化了吗,答案很显然:当然不是...

    2013年中国数据库大会-27-深入解析MySQL InnoDB引擎

    一直以来,数据库架构实践、数据库优化应用等,是备受大家关注的传统话题,本届大会仍将继续邀请一批国内顶尖的技术专家来进行分享,包括Oracle应用实践、MySQL应用实践、SQL Server应用实践等。

    mysql 性能优化以及面试

    mysql的性能优化,以及mysql的innodb引擎基础面试问题,mysql中级面试

    MySQL数据库运维视频教程.zip

    MySQL数据库运维--第1周.mp4 1.机器选型&系统规划.ppt MySQL数据库运维--第2周.mp4 2.安装部署.ppt MySQL数据库运维文案--第3周.mp4&doc 3.压力测试.ppt MySQL数据库运维文案--第4周.mp4 4.性能优化.ppt MySQL数据库...

    MySQL数据库InnoDB数据恢复工具的使用小结详解

    本文从实际使用经验出发,介绍一款开源的MySQL数据库InnoDB数据恢复工具:innodb-tools,它通过从原始数据文件中提取表的行记录,实现从丢失的或者被毁坏的MySQL表中恢复数据。例如,当你不小心执行DROP TABLE、...

    详解MySQL中InnoDB的存储文件

    在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm文件跟数据库存储引擎无关,也就是任何存储引擎的...

    MySQL数据库innodb启动失败无法重启的解决方法

    电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。 错误日志 $ mysql.server start Starting MySQL . ERROR! The server quit without updating PID file...

    mysql更改引擎(InnoDB,MyISAM)的方法

    mysql默认的数据库引擎是MyISAM,不支持事务和外键,也可使用支持事务和外键的InnoDB。 查看当前数据库的所支持的数据库引擎以及默认数据库引擎 数据库支持的引擎和默认数据库引擎代码: 代码如下:show engines; ...

    高性能MySQL(第二版)

    MySQL数据库使目前使用人数最多的开源关系型数据库系统,其InnoDB...因此,有必要总结InnoDB引擎下的MySQL数据库优化的理论与方法,以便为保障业务系统的高效运行提供帮助,本文重点论述Mysql数据库的性能优化技术。

    深入讲解MySQL Innodb索引的原理

    引言 回想四年前,我在学习mysql的索引这块的时候,老师在讲索引的时候,是像下面这么说的 索引就像一本书的目录。而当用户通过索引查找数据时,就好比用户通过目录查询某章节的某个...InnoDB是 MySQL最常用的存储引擎

    MySQL技术内幕InnoDB存储引擎.rar

    《高性能mysql(第3版)》是最具代表性的进阶书籍没有之一,它是 MySQL 领域的经典之作,内容涵盖 MySQL 架构和历史,性能分析,优化,复制、备份和恢复,高可用与高可扩展性。值得每一个后端工程师多次阅读,无论是...

    MySQL数据库优化技术之索引使用技巧总结

    本文实例总结了MySQL数据库优化技术的索引用法。分享给大家供大家参考,具体如下: 这里紧接上一篇《MySQL数据库优化技术之配置技巧总结》,进一步分析索引优化的技巧: (七)表的优化 1. 选择合适的数据引擎 MyISAM:...

    mysql数据库规范.docx

    规范名称 具体内容 解释 基础规范 使用InnoDB存储引擎 支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 新库使用utf8mb4字符集 万国码,无需转码,无乱码风险,节省空间 数据表、数据字段...

    MySQL从入门到高级系列视频.zip

    目录网盘文件永久链接 1.Mysql数据库入门及安装.mp4 2.MySQL日常操作命令.mp4 ...15.MySQL数据库高效优化解析.mp4 16.构建MySQL+keepalived高可用自动切换.mp4 17.构建MySQL+DRBD+Keepalived高可用集群.mp4

Global site tag (gtag.js) - Google Analytics