MySQL5.7配置优化

 


 

说明:设置后面跟的都是默认值

 

max_connections = 1000

 

back_log = 250

排队等待的最大连接数,当连接数超过max_connections时,新来的连接可以放到堆栈里面,当堆栈里面的连接超过back_log设置的数量,之后的连接将不被授予连接资源
这个值大于cat /proc/sys/net/core/somaxconn 是无效的

利用多核

innodb默认可以利用4核

 

mysql> show variables like '%_io_threads';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| innodb_read_io_threads  | 4     |
| innodb_write_io_threads | 4     |
+-------------------------+-------+

 

比如,你现在升级到16核了,直接在my.cnf里面加入配置:
innodb_read_io_threads = 8
innodb_write_io_threads = 8
这样就是读和写平均,如果你读的比较多,那么可以:
innodb_read_io_threads = 10
innodb_write_io_threads = 6
如果你写的比较多,那么可以:
innodb_read_io_threads = 6
innodb_write_io_threads = 10

 

参考文档

https://yq.aliyun.com/ziliao/146460