1. 优化最大连接数max_connections是MySQL最大并发连接数,默认值是151
MySQL允许的最大连接数上限是16384
实际连接数是最大连接数的85%较为合适
查询数据库目前设置的最大并发连接数是多少
查询数据库目前实际连接的并发数是多少
在MySQL配置文件 /etc/my.cnf 中设置 max_connections=3000,表示修改最大连接数为3000,需要重启MySQL才能生效
MySQL为每个连接创建缓冲区,所以不应该盲目上调最大连接数,如果最大连接数达到了上面设置的3000,会消耗大约800M内存。
2. 优化请求堆栈back_log是存放执行请求的堆栈大小,默认值是50
该值设置为最大并发连接数的20%~30%较为合适
同样是在MySQL配置文件 /etc/my.cnf 中,设置 back_log=600,修改后需要重启MySQL才能生效
3. 修改并发线程数innodb_thread_concurrency代表并发线程数,默认是0,表示没有设置线程数量的上限。
不是分配给MySQL的线程越多越好,线程多反而会损耗cpu性能,导致速度变慢并发线程数应该设置为cpu核心数的两倍
在在MySQL配置文件 /etc/my.cnf 中,设置 innodb_thread_concurrency=8
查看cpu型号
查看cpu核心数
4. 修改连接超时时间wait-timeout是超时时间,单位是秒
连接默认超时为8小时,连接长期不用又不销毁,浪费资源
设置超时时间为10分钟 wait-timeout=600
5. InnoDB缓存修改InnoDB缓存大小innodb_buffer_pool_size是InnoDB的缓存容量,默认是128M
InnoDB缓存的大小可以设置为主机内存的70%~80%
在MySQL配置文件中,会有一行被注释的配置:# innodb_buffer_pool_size = 128M
上方注释也写明了,建议设置物理内存的70%
查看内存大小作者:_灯火阑珊处
链接:https://juejin.cn/post/6921534804219396103
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。