MySQL5.1性能优化方案.doc

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL5.1性能优化方案

MySQL5.1性能优化方案 平台数据库 操作系统 Red Hat Enterprise Linux Server release 5.4 (Tikanga) ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 32位Linux服务器,单独作为MySQL服务器使用。 MySQL 系统使用的是MySQL5.1,必威体育精装版的MySQL5.5较之老版本有了大幅改进默认存储引擎更改为InnoDBInnoDB作为成熟、高效的事务引擎,目前已经广泛使用,但MySQL5.1之前的版本默认引擎均为MyISAM,此次MySQL5.5终于将默认数据库存储引擎改为InnoDB,并且引进了Innodb plugin 1.0.7。此次更新对数据库的好处是显而易见的:InnoDB的数据恢复时间从过去的一个甚至几个小时,缩短到几分钟(InnoDB plugin 1.0.7,InnoDB plugin 1.1, 恢复时采用红-黑树)。InnoDB Plugin 支持数据压缩存储,节约存储,提高内存命中率,并且支持adaptive flush checkpoint, 可以在某些场合避免数据库出现突发性能瓶颈。Multi Rollback Segments: 原来InnoDB只有一个Segment,同时只支持1023的并发。现已扩充到128个Segments,从而解决了高并发的限制。多核性能提升Metadata Locking (MDL) Framework替换LOCK_open mutex (lock),使得MySQL5.1及过去版本在多核心处理器上的性能瓶颈得到解决制功能(Replication)加强过去的异步复制方式意味着极端情况下的数据风险,MySQL5.5将首次支持半同步(semi-sync replication)在MySQL的高可用方案中将产生更多更加可靠的方案。增强表分区功能MySQL 5.5的分区更易于使用的增强功能,以及TRUNCATE PARTITION命令都可以为节省大量的时间多核心处理器上的性能cat /proc/cpuinfo | grep flags | grep lm | wc -l) 磁盘空间 系统的磁盘空间目前没有压力。 内存 内存总大小为4G,只供操作系统和数据库使用。 数据库的表和文件 数据库addb共有339张表:其中InnoDB表303张,MyISAM表34张,MEMORY表2张。 InnoDB数据文件ibdata1大小为30138MB,一周后ibdata1大小为30234MB, MyISAM数据文件(包括表结构、索引及数据)总大小约为1642MB,一周后约为1639MB。可以看出,数据库的数据量较稳定,InnoDB数据文件增加了约106MB,总大小一周内没有大的变化。MyISAM表中,值得注意的是表terminalalarm_bak,该表总大小约为1623MB,占整个MyISAM表总大小比重近99%。 二进制日志单个文件大小为1GB,二进制日志文件总大小接近20GB。 数据分布情况 服务器某时间点非精确值: 数据量范围 表数量(总共339张,其中分区表2张) 1000万rows5000万 4张(MyISAM表1张) 500万rows1000万 6张 100万rows500万 5张 50万rows100万 4张 10万rows50万 12张(MyISAM表1张) 5万rows10万 9张(MyISAM表1张) 1万rows5万 23张(MyISAM表2张) 1 rows1万 136张(MyISAM表9张,MEMORY表2张) rows=0(无数据) 140张 观察系统中数据量很大且未进行表分区的InnoDB表 adrotateresultdetail_fail的数据量达到4千万,createTime列是datatime类型,且有索引,意味着存在以该列为查询条件或关联条件查询的需求,因此可以在该列上以自然月份进行表分区。 terminalalarm的数据量也突破千万,AlarmTime列是datatime类型,且有索引,意味着存在以该列为查询条件或关联条件查询的需求,因此可以在该列上以自然月份进行表分区。在事件ev_terminalalarm中会查询该表,若进行表分区,也能一定程度上提高事件的执行效率。 terminalalarminfo表仅自增列有索引,主要用于存储数据,可不用分区。 Terminallogin表的loginTime列是datatime类型,

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档