`
wenson
  • 浏览: 1053555 次
  • 性别: 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数据库开发、优化与管理维护.doc

    在本篇中,我们将学习 MySQL 数据库优化的知识点,包括查询优化、索引优化、存储优化和服务器优化等。 管理维护篇 在本篇中,我们将学习 MySQL 数据库管理维护的知识点,包括数据库备份、数据库恢复、服务器监控和...

    MYSQL innodb性能优化学习总结

    MySQL InnoDB性能优化的学习总结涉及了多个关键知识点,下面将对这些知识进行详细说明: 1. **参数配置与优化**: - **innodb_buffer_pool_size**:InnoDB的缓冲池大小,建议设置为系统内存的60%至80%,以便将数据...

    MySQL Innodb 索引原理详解

    ### MySQL Innodb 索引原理详解 #### 1. 各种树形结构 在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。...对于理解和优化MySQL数据库的性能至关重要。

    Mysql数据库性能优化

    MySQL数据库性能优化是一个涵盖多个方面的主题,涉及到数据库配置、索引优化、查询优化、存储引擎选择、内存管理以及数据模型设计等多个环节。以下是对这些关键领域的详细解释: 1. **数据库配置**: - `my.cnf` ...

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

    MySQL的InnoDB存储引擎在处理数据删除时,采用了一种称为“空间回收”的机制,它并不立即释放被删除记录所占用的空间,而是将其标记为可用。...总之,对这些知识点的掌握有助于更好地管理和维护MySQL的InnoDB数据库。

    mysql MySQL数据库开发优化与管理维护

    ### MySQL数据库开发优化与管理维护 #### 概览 本文档深入探讨了MySQL数据库的各个方面,包括开发、优化以及管理维护等内容。文档分为两大部分:第一部分主要关注于数据库的开发,介绍了如何选择合适的存储引擎、...

    MYSQL数据库优化秘籍

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

    2G内存的MYSQL数据库服务器优化

    在IT行业中,对于资源有限的环境进行数据库优化是一项挑战性工作,尤其是在仅有2GB内存的情况下对MySQL数据库服务器进行优化。这种优化旨在提高性能的同时确保系统的稳定运行。 #### 标题解读:2G内存的MySQL数据库...

    MySQL 5.1 版数据库

    - **InnoDB引擎优化**:InnoDB是MySQL中最常用的事务处理引擎,5.1版中对InnoDB进行了大量优化,包括更有效的行锁定,提高了并发性能。 2. **存储引擎**: - **InnoDB存储引擎**:支持事务处理,ACID(原子性、...

    Mysql5.5数据库安装包

    1. **存储引擎**:MySQL 5.5默认使用InnoDB存储引擎,提供事务处理、行级锁定以及外键支持,增强了数据库的安全性和稳定性。InnoDB也是处理大量数据时的首选引擎。 2. **性能优化**:MySQL 5.5通过改进查询缓存、...

    深入浅出-MySQL数据库开发、优化与管理维护

    三、MySQL数据库优化 优化是提高数据库性能的关键,涉及查询优化、索引优化、服务器配置等多个方面。 1. 查询优化:通过改进SQL语句,避免全表扫描,使用JOIN优化,减少子查询,以及合理使用索引来提高查询效率。 ...

    MySQL Innodb 参数详解与优化实践

    ### MySQL Innodb 参数详解与优化实践 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其InnoDB存储引擎因其高可靠性和事务处理能力而备受青睐。为了充分发挥InnoDB的优势并针对特定场景进行性能...

    mysql 5.6 新特性-innodb

    通过上述改进,MySQL 5.6 的 InnoDB 引擎不仅提高了数据库的整体性能,还增加了许多实用的新功能,极大地满足了现代应用程序的需求。这些新特性的加入,使得 MySQL 5.6 成为了一个非常强大的数据库平台,无论是在...

    MYSQL数据库技术分享.ppt

    1. 数据库参数优化:通过调整数据库参数,例如innodb_buffer_pool_size、innodb_additional_mem_pool_size、innodb_log_buffer_size等,来提高MYSQL数据库的性能。 2. 文件参数优化:通过调整文件参数,例如datadir...

    MySQL体系结构及原理(innodb)图文完美解析

    MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于Web应用和其他软件系统中。它支持SQL(Structured Query Language)语言,并且具有良好的稳定性和安全性。MySQL能够高效地处理大量数据和并发访问。 2. ...

    MySQL innodb 技术内幕

    MySQL InnoDB 存储引擎是 MySQL 关系数据库管理系统中最常用的存储引擎之一。InnoDB 存储引擎是 MySQL 的默认存储引擎,它提供了高性能、高可靠性的存储功能。 数据库和实例的区别 ----------------- 在 MySQL 中...

    Mysql数据库与SQL优化+集群+负载均衡.doc

    MySQL 数据库与 SQL 优化 + 集群 + 负载均衡 MySQL 数据库与 SQL 优化是提高数据库性能的关键一步骤。 SQL 优化可以通过优化数据库结构、索引、查询语句等方式来实现。下面是 MySQL 数据库与 SQL 优化的主要知识点...

    MySQL 和 InnoDB 性能

    ### MySQL与InnoDB性能分析 #### MySQL架构概览 MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前由Oracle公司维护。MySQL的核心组成部分包括服务器端、存储引擎以及一系列支持服务。 - **服务器...

Global site tag (gtag.js) - Google Analytics