Mysql配置项的简单优化
preface
众所周知,Mysql已经成为广泛使用的开源数据库了,so 公司阿里云的数据库为Mysql,在最开始的时候是直接yum安装,配置项都是默认的,没有任何调整,这次有时间就参考各路大神的资料,把公司的mysql给优化了下。
优化配置项
我们需要关注下面几个配置项,如果忽略了他们,那么会很快遇到性能问题。
innodb_buffer_pool_size
在使用innodb引擎的环境中,在安装完后,这个是第一个需要关注的配置项。缓冲池是数据和索引被缓存的地方,这个值要尽可能的大。典型的配置是5-6GB(8GB RAM),20-2GB(32GB RAM),100-120GB(128GB RAM)。 例如innodb_buffer_pool_size=4G,默认是128Minnodb_log_file_size:
redo log的大小,redo log被用来保证写入的速度和故障恢复。建议设置为innodb_log_file_size=512MB,但对于频繁的数据库,这个值应该调整为innodb_log_file_size=4GB.max_connections:
默认是151个连接数,如果设置过大的话(1000或者以上),Mysql请求数会很大的,那么它可能会失去响应,容易报Too many connections的错误。
关于Innodb存储引擎的优化
innodb_file_per_table:
用于控制不同的表是否使用独立的.ibd文件。设置为on时,它可以在丢弃或者截断表时能够回收存储空间。在Mysql5.6版本以后,这个值默认就是on。因此需要在5.6版本以前的进行设置,设置后仅仅对新创建的表有效。innodb_flush_log_at_trx_commit:
默认值是1,意味着Innodb是与ACID完全兼容的,如果考虑数据安全性第一需求的话,那么就要把这个值设置为1。在开启之后,额外的系统fsync调用对低速硬盘来说,是一个巨大的系统开销。设置为2时,在数据安全性方面稍微下降,因为此时每隔1s才把事务写入redo log中。在某些数据完整性要求不高的情况下,可以设置为2或者为0.query_cache_size:
建议一开始就设置为0,完全禁用查询缓存。slow_query_log:
设置为1,表示启用满查询日志。慢查询日志是记录执行时间超过指定时间(long_query_time)的Mysql查询,是分析和优化Mysql的最重要的文件。long_query_time:
默认值为10,建议修改为1,在大部分应用中,超过1s的查询基本可以判断为需要关注的执行语句。slow_query_log_file:
指定慢查询日志的记录文件位置。
Mysql配置项的简单优化的更多相关文章
- [mysql] 2进制安装和简单优化
##################################mysql 2进制安装和简单优化################################################## ...
- [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲 ...
- mysql的简单优化【简单易学】
1.选取最适用的字段属性: 表字段尽量设小,不要给数据库增加没必要的空间:如:值为'01'.'02',给char(2)即可: 2.使用连接(JOIN)来代替子查询(Sub-Queries): 使用jo ...
- mysql简单优化思路
mysql简单优化思路 作为开发人员,数据库知识掌握的可能不是很深入,但是一些基本的技能还是要有时间学习一下的.作为一个数据库菜鸟,厚着脸皮来总结一下 mysql 的基本的不能再基本的优化方法. 为了 ...
- mysql简单优化的一些总结
mysql对cpu的利用特点: 5.1之前,多核支持较弱:5.1可利用4个核:5.5可利用24核:5.6可利用64个核:每个连接对应一个线程,每个并发query只能使用一个核 mysql对内存的利用特 ...
- mysql之优化器、执行计划、简单优化
mysql之优化器.执行计划.简单优化 2018-12-12 15:11 烟雨楼人 阅读(794) 评论(0) 编辑 收藏 引用连接: https://blog.csdn.net/DrDanger/a ...
- [MySQL Reference Manual] 8 优化
8.优化 8.优化 8.1 优化概述 8.2 优化SQL语句 8.2.1 优化SELECT语句 8.2.1.1 SELECT语句的速度 8.2.1.2 WHERE子句优化 8.2.1.3 Range优 ...
- MySql学习(六) —— 数据库优化理论(二) —— 查询优化技术
逻辑查询优化包括的技术 1)子查询优化 2)视图重写 3)等价谓词重写 4)条件简化 5)外连接消除 6)嵌套连接消除 7)连接消除 8)语义优化 9)非SPJ优化 一.子查询优化 1. ...
- 101个MySQL 的调节和优化的提示
MySQL是一个功能强大的开源数据库.随着越来越多的数据库驱动的应用程序,人们一直在推动MySQL发展到它的极限.这里是101条调节和优化MySQL安装的技巧.一些技巧是针对特定的安装环境的,但这些思 ...
随机推荐
- PHP 依赖注入,从此不再考虑加载顺序
说这个话题之前先讲一个比较高端的思想--'依赖倒置原则' "依赖倒置是一种软件设计思想,在传统软件中,上层代码依赖于下层代码,当下层代码有所改动时,上层代码也要相应进行改动,因此维护成本较高 ...
- js的offsetWidth,offsetHeight,offsetLeft,offsetTop
js的offsetWidth,offsetHeight,offsetLeft,offsetTop
- ASP.NET Web API 实现客户端Basic(基本)认证 之简单实现
优点是逻辑简单明了.设置简单. 缺点显而易见,即使是BASE64后也是可见的明文,很容易被破解.非法利用,使用HTTPS是一个解决方案. 还有就是HTTP是无状态的,同一客户端每次都需要验证. 实现: ...
- 最短判断IE的办法
if(!!-[1,]){ return }; 无意中看到这样一行代码,经查是用来判断IE的代码,非常精简,原理如下: [1,],这是一个数组,IE和标准浏览器对这样一个数组的解析是不一样的 alert ...
- vim 插件管理
1 进入自己的vim mkdir ./bundle/vundle 2 在vimrc同级中执行 git clone https://github.com/gmarik/vundle.git ./bund ...
- [转]C#操作注册表
原文链接:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-regidit.html 下面我们就来用.NET下托管语言C#注册表操作,主 ...
- Win7 64bit下32bit的 ODBC 数据源问题
win764位有数据源,但是如果我们在win7 64bit中使用32位的数据源的时候,我们就需要对其进行配置,很有趣的是,64为的数据源我们可以在控制面板——系统与安全——管理工具——数据源,进入可对 ...
- 【SQL语句】 - Ctrl+3 查询表属性的存储过程
/**-- ============================================= Author: xft CteateDate: 2013-10-11 Description:查 ...
- MAC OS上Nginx安装
admin@admindeMac:local]$ brew install nginx ==> Installing dependencies for nginx: pcre, openssl ...
- golang: 把sql结果集以json格式输出
func getJSON(sqlString string) (string, error) { stmt, err := db.Prepare(sqlString) if err != nil { ...