《Mysql必读mysql数据库性能优化技巧》要点:
本文介绍了Mysql必读mysql数据库性能优化技巧,希望对您有用。如果有疑问,可以联系我们。
MYSQL入门本节内容:
如何优化mysql数据库的性能.
MYSQL入门1,ack_log:
要求 MySQL 能有的连接数量.当主要MySQL线程在一个很短时间内得到非常多的连接哀求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程.
MYSQL入门back_log 值指出在MySQL暂时停止回答新哀求之前的短时间内多少个哀求可以被存在堆栈中.只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值 对到来的TCP/IP连接的侦听队列的大小.你的操作系统在这个队列大小上有它自己的限制. 试图设定back_log高于你的操作系统的限制将是无效的.
MYSQL入门当在主机进程列表中,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大 back_log 的值了.默认数值是50,我把它改为500.
MYSQL入门2,interactive_timeout:
MYSQL入门 服务器在关闭它前在一个交互连接上等待行动的秒数.一个交互的客户被定义为对 mysql_real_connect()使用 CLIENT_INTERACTIVE 选项的客户. 默认数值是28800,我把它改为7200.
MYSQL入门3,key_buffer_size:
MYSQL入门 索引块是缓冲的并且被所有的线程共享.key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你 能负担得起那样多.如果你使它太大,系统将开始换页并且真的变慢了.默认数值是8388600(8M),我的MySQL主机有2GB内存,所以我把它改为 402649088(400MB).
MYSQL入门4,max_connections:
MYSQL入门 允许的同时客户的数量.增加该值增加 mysqld 要求的文件描述符的数量.这个数字应该增加,否则,你将经常看到 Too many connections 错误. 默认数值是100,我把它改为1024 .
MYSQL入门5,record_buffer:
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区.如果你做很多顺序扫描,你可能想要增加该值.默认数值是131072(128K),我把它改为16773120 (16M)
MYSQL入门6,sort_buffer:
MYSQL入门 每个需要进行排序的线程分配该大小的一个缓冲区.增加这值加速ORDER BY或GROUP BY操作.默认数值是2097144(2M),我把它改为 16777208 (16M).
MYSQL入门7,table_cache:
MYSQL入门 为所有线程打开表的数量.增加该值能增加mysqld要求的文件描述符的数量.MySQL对每个唯一打开的表需要2个文件描述符.默认数值是64,我把它改为512.
MYSQL入门8,thread_cache_size:
MYSQL入门 可以复用的保存在中的线程的数量.如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中.如果有很多新的线程,为了提高性能可 以这个变量值.通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用.我把它设置为 80.
MYSQL入门9,wait_timeout:
MYSQL入门 服务器在关闭它之前在一个连接上等待行动的秒数. 默认数值是28800,我把它改为7200.
MYSQL入门 注意:参数的调整可以通过修改 /etc/my.cnf 文件并重启 MySQL 实现.
这是一个比较谨慎的工作,可以根据主机的硬件情况(特别是内存大小)进一步修改.
MYSQL入门以上就是本节介绍的mysql数据库性能优化的一些技巧,希望对大家有所赞助.
《Mysql必读mysql数据库性能优化技巧》是否对您有启发,欢迎查看更多与《Mysql必读mysql数据库性能优化技巧》相关教程,学精学透。维易PHP学院为您提供精彩教程。