MySQL性能优化
此篇文章简单介绍MySQL配置优化
修改back_log
back_log值表示MySQL的连接数据达到max_connections时,有多少请求能够被放在堆栈之中以等待其他连接释放.如果等待连接的数量超过back_log时,就不被授予连接资源.
show variables like ‘back_log’:查看当前数量
网上说默认值是50, 但是我查出来是80,反正如果要根据当前需求来改变数量,可以在my.ini中将back_log的值修改为500,理论上可以无限增大的,但是会收到系统网卡等的限制.
修改wait_timeout
wait_timeout值表示服务器关闭非交互连接之前等待活动的秒数,而interactive_timeout表示的交互式连接等待的秒数,当网站有大量的MySQL连接请求时,设置这个wait_timeout值就非常重要,可以将超时的连接关闭,避免资源的损失.
将wait_timeout从8小时修改为30分钟,wait_timeout=1800
MySQL性能优化ions">修改max_connections
max_connections指MySQL的最大连接数,在并发连接较大时可以适当增大这个连接数,但是增大连接就意味着更多的内存开销,只能在适当的范围内调节.
MySQL服务器允许的最大连接数16384
show variables like ‘max_connections’查看当前连接数
可以将默认的max_connections值151,修改为3000
修改max_user_connections
max_user_connections指同一个账号能够同时连接MySQL服务的最大连接数.
默认值为0表示不受限制,根据实际需求进行调节.
要与Max_used_connections的区分开来,后者是表示过去的某段时间最大的连接数.
show variables like ‘max_user_connections’查看当前值
修改thread_concurrency
thread_concurrency指表示开启的线程数,一般根据服务器的CPU核数进行设定,线程数等于CPU x 2
show variables like ‘thread_concurrency’查看默认值