数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

MySQL性能优化的参数有哪些?


发布日期:2021年05月18日
 
MySQL性能优化的参数有哪些?

此文章主要向大家介绍的是MySQL性能优化的参数我前两天在相关网站看见MySQL性能优化的参数的资料觉得挺好就拿出来供大家分享希望你掌握了这项技术会在以后的学习或是工作中带来很大的帮助

)back_log

要求 MySQL 能有的连接数量当主要MySQL线程在一个很短时间内得到非常多的连接请求这就起作用然后主线程花些时间(尽管很短)检查连接并且启动一个新线程

back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中只有如果期望在一个短时间内有很多连接你需要增加它换句话说这值对到来的TCP/IP连接的侦听队列的大小你的操作系统在这个队列大小上有它自己的限制试图设定back_log高于你的操作系统的限制将是无效的

当你观察你的主机进程列表发现大量 | unauthenticated user | xxxxxxxxxxxx | NULL | Connect | NULL | login | NULL 的待连接进程时就要加大 back_log 的值了默认数值是我把它改为

()interactive_timeout

服务器在关闭它前在一个交互连接上等待行动的秒数一个交互的客户被定义为对 MySQL_real_connect()使用 CLIENT_INTERACTIVE 选项的客户 默认数值是我把它改为

()key_buffer_size

索引块是缓沖的并且被所有的线程共享key_buffer_size是用于索引块的缓沖区大小增加它可得到更好处理的索引(对所有读和多重写)到你能负担得起那样多如果你使它太大系统将开始换页并且真的变慢了默认数值是(M)我的MySQL主机有GB内存所以我把它改为(MB)

()max_connections

允许的同时客户的数量增加该值增加 MySQLd 要求的文件描述符的数量这个数字应该增加否则你将经常看到 Too many connections 错误 默认数值是我把它改为

()record_buffer

每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓沖区如果你做很多顺序扫描你可能想要增加该值默认数值是(K)我把它改为 (M)

()sort_buffer

每个需要进行排序的线程分配该大小的一个缓沖区增加这值加速ORDER BY或GROUP BY操作默认数值是(M)我把它改为 (M)

()table_cache

为所有线程打开表的数量增加该值能增加MySQL要求的文件描述符的数量MySQL对每个唯一打开的表需要个文件描述符默认数值是我把它改为

()thread_cache_size

可以复用的保存在中的线程的数量如果有新的线程从缓存中取得当断开连接的时候如果有空间客户的线置在缓存中如果有很多新的线程为了提高性能可以这个变量值通过比较 Connections 和 Threads_created 状态的变量可以看到这个变量的作用我把它设置为

上一篇:MySQL 5.5.5 M3发布

下一篇:百万级高并发网站MYSQL应用攻略