1, 最大连接数据 max_commections
linux 可达到500~1000
windows计算公式(open tables *2 + open connections) < 2048
- back_log
back_log参数控制mysql监听tcp端口时设置的积压请求栈大小, 5.6.6版本以前默认是50, 以后版本默认是50+(max_connections/5),但是最大不能超过900,如果在短时间能请求数量较大,可以适当增大该值
- table_open_cache
每个sql执行线程都至少要打开1个表缓存,参数table_open_cache控制所有sql执行线程可打开表缓存的数量。这个参数的值应该根据最大连接数max_connections以及每个连接执行管理查询所涉及到的表的最大格式N来计算(max_connections / N)
4.thread_cache_size
加快连接数据库的速度,mysql会缓存一定数量的客户服务线程以备用, 通过参数thread_cache_size可控制mysql缓存客户服务线程的数量,可以通过计算线程cache的失效率threads_cread/connections来衡量thread_cache_size的设置是否合适。该值越接近1, 说明线程cache命中率越低,要考虑增大该值
5.innodb_lock_wait_timeout
该参数可以控制innodb事务等待执行锁的时间,默认是50ms,根据需要动态设置,对于需要快速反馈的交互式OLTP应用,可以将锁等待超时时间调小,以避免事务长时间挂起,对于后台运行的批量处理,可以适当增大锁等待超时时间,以避免发生大的回滚操作。