硬件概況:
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
分享到:
相关推荐
在本篇中,我们将学习 MySQL 数据库优化的知识点,包括查询优化、索引优化、存储优化和服务器优化等。 管理维护篇 在本篇中,我们将学习 MySQL 数据库管理维护的知识点,包括数据库备份、数据库恢复、服务器监控和...
MySQL InnoDB性能优化的学习总结涉及了多个关键知识点,下面将对这些知识进行详细说明: 1. **参数配置与优化**: - **innodb_buffer_pool_size**:InnoDB的缓冲池大小,建议设置为系统内存的60%至80%,以便将数据...
### MySQL Innodb 索引原理详解 #### 1. 各种树形结构 在深入探讨MySQL Innodb索引之前,我们先了解几种基本的树形数据结构,包括二叉搜索树、B树、B+树以及B*树。...对于理解和优化MySQL数据库的性能至关重要。
MySQL数据库设计与优化是数据库管理中的重要环节,它关乎到系统的性能、稳定性和可扩展性。本讲座由叶金荣分享,主要涵盖了多个关键方面,包括规范、基础规范、命名规范、库表规范、字段规范、索引规范以及开发环境...
MySQL数据库性能优化是一个涵盖多个方面的主题,涉及到数据库配置、索引优化、查询优化、存储引擎选择、内存管理以及数据模型设计等多个环节。以下是对这些关键领域的详细解释: 1. **数据库配置**: - `my.cnf` ...
MySQL的InnoDB存储引擎在处理数据删除时,采用了一种称为“空间回收”的机制,它并不立即释放被删除记录所占用的空间,而是将其标记为可用。...总之,对这些知识点的掌握有助于更好地管理和维护MySQL的InnoDB数据库。
MYSQL数据库优化秘籍,大牛出的,值得你反复研读 MySQL在Linux环境下的安装 文件引擎MyISAM与InnoDB比较 LOAD DATA INFILE/mysqldump DBA的分析命令 MySQL的系统配置参数、诊断操作系统的状态 MySQL的分库分表,分区...
在IT行业中,对于资源有限的环境进行数据库优化是一项挑战性工作,尤其是在仅有2GB内存的情况下对MySQL数据库服务器进行优化。这种优化旨在提高性能的同时确保系统的稳定运行。 #### 标题解读:2G内存的MySQL数据库...
- **InnoDB引擎优化**:InnoDB是MySQL中最常用的事务处理引擎,5.1版中对InnoDB进行了大量优化,包括更有效的行锁定,提高了并发性能。 2. **存储引擎**: - **InnoDB存储引擎**:支持事务处理,ACID(原子性、...
1. **存储引擎**:MySQL 5.5默认使用InnoDB存储引擎,提供事务处理、行级锁定以及外键支持,增强了数据库的安全性和稳定性。InnoDB也是处理大量数据时的首选引擎。 2. **性能优化**:MySQL 5.5通过改进查询缓存、...
三、MySQL数据库优化 优化是提高数据库性能的关键,涉及查询优化、索引优化、服务器配置等多个方面。 1. 查询优化:通过改进SQL语句,避免全表扫描,使用JOIN优化,减少子查询,以及合理使用索引来提高查询效率。 ...
### MySQL Innodb 参数详解与优化实践 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其InnoDB存储引擎因其高可靠性和事务处理能力而备受青睐。为了充分发挥InnoDB的优势并针对特定场景进行性能...
在这一版本中,MySQL引入了增强的性能优化,如InnoDB存储引擎的改进,支持更大的索引键长度,以及更高效的查询执行计划。此外,它还提供了增强的安全性,如默认使用强密码策略和加密连接,以保护用户数据的安全。 ...
通过上述改进,MySQL 5.6 的 InnoDB 引擎不仅提高了数据库的整体性能,还增加了许多实用的新功能,极大地满足了现代应用程序的需求。这些新特性的加入,使得 MySQL 5.6 成为了一个非常强大的数据库平台,无论是在...
1. 数据库参数优化:通过调整数据库参数,例如innodb_buffer_pool_size、innodb_additional_mem_pool_size、innodb_log_buffer_size等,来提高MYSQL数据库的性能。 2. 文件参数优化:通过调整文件参数,例如datadir...
MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于Web应用和其他软件系统中。它支持SQL(Structured Query Language)语言,并且具有良好的稳定性和安全性。MySQL能够高效地处理大量数据和并发访问。 2. ...
MySQL InnoDB 存储引擎是 MySQL 关系数据库管理系统中最常用的存储引擎之一。InnoDB 存储引擎是 MySQL 的默认存储引擎,它提供了高性能、高可靠性的存储功能。 数据库和实例的区别 ----------------- 在 MySQL 中...