码迷,mamicode.com
首页 > 数据库 > 详细

mysql性能优化配置总结

时间:2017-04-09 18:45:30      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:connect   建议   内容   物理   机制   参数   数据连接   like   thread   

看了一些优化mysql运维的一些书籍,在此记录总结下:
进入mysql客户端输入以下sql:
1、连接设置

show variables like %max_connection%;
show status like %Max_used_connections%;

Max_used_connections/max_connection <=85%,参数配置项的值可对照修改

2、存储在堆栈中的连接数量

show variables like %back_log%;

back_log 默认为50 建议修改为 128~512

3、数据连接关闭前等待时间

show variables like %timeout%;

修改interactive_timeout wait_timeout 2项的值,默认为28800,建议修改为7200

4、索引缓冲区的大小

show status like %read%;

索引未缓存命中率 key_read/key_request_reads ~=0.001~0.01

5、查询缓冲区的大小(query_cache_size)

show variables like %cache%;
show status like %qcache%;

缓存碎片率 Qcache_free_blocks/Qcache_total_blocks <20%
缓存利用率 (query_cache_size-Qcache_free_memory)/query_cache_size<25%
缓存命中率 Qcache_hits/Qcache_inserts>95%

6、顺序读、随机读、排序、连接缓冲区的大小,每个线程独占,建议设置为16MB

show status like %buffer%;

read_buffer_size
read_rnd_buffer_size
sort_buffer_size
join_buffer_size

7、表缓冲区大小

show status like %tables%;

table_cache 根据 open_tables opented_tables 大小来调整

8、内存表和临时表

show status like %table%;

max_heap_table_size
tmp_table_size
内存表超过临时表大小,才需要调整内存表的大小

9、磁盘上临时表大小

show status like %tmp%;

(Created_tmp_disk_tables/Created_tmp_tables)*100<25%

10、缓存线程的数量

show variables like %tmp%;

thread_cache_size

11、并发线程的数量

show variables like %thread%;

innodb_thread_concurrency (cpu+磁盘)数量的2倍

12、其他
数据和索引缓冲区的大小 innodb_buffer_pool_size 物理内容的80%
日志缓冲区的大小 innodb_log_buffer_size 1~8MB
数据字段和其他数据结构的大小 innodb_additional_mem_pool_size 20MB
事物处理机制 innodb_flush_log_at_trx_commit
0 提交事物不写入日志,每秒日志文件写入和flush磁盘
1 每秒或每次事物提交时,日志文件写入 flush磁盘
2 每次事物提交时,日志文件写入,每秒flush磁盘

mysql性能优化配置总结

标签:connect   建议   内容   物理   机制   参数   数据连接   like   thread   

原文地址:http://www.cnblogs.com/phpper/p/6685453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!