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

MySQL优化之二:My SQL Server性能优化

时间:2017-04-30 01:02:28      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:mysql 优化

1 安装优化

一般说来,系统功能越多越复杂,性能就会越差。因此在编译安装MySQL时,仅安装需要的功能模块。如存储引擎、需要的字符集等,让系统尽可能的简单。


2 日志设置优化

由于日志记录直接带来的性能损耗就是数据库最为昂贵的I/O资源,因此在默认情况下MySQL仅开启了错误日志,关闭了其它所有日志。但是在生产环境中,至少需要打开二进制日志和慢查询日志,前者是增量备份的基础,而后者有利于进一步对数据库进行优化。通常情况下,生产环境中很少会打开一般查询日志,如果打开,数据库会记录每一条操作记录对系统I/O性能影响很大。

查看二进制日志设置,默认关闭:

mysql> show variables like ‘%log%bin%‘;

+---------------------------------+-------+

| Variable_name                   | Value |

+---------------------------------+-------+

| log_bin                         | OFF   |

| log_bin_basename                |       |

| log_bin_index                   |       |

| log_bin_trust_function_creators | OFF   |

| log_bin_use_v1_row_events       | OFF   |

| sql_log_bin                     | ON    |

+---------------------------------+-------+

6 rows in set (0.00 sec)

查看慢查询日志设置,默认关闭:

mysql> show variables like "slow%";                   

+---------------------+-----------------------------+

| Variable_name       | Value                       |

+---------------------+-----------------------------+

| slow_launch_time    | 2                           |

| slow_query_log      | OFF                         |

| slow_query_log_file | /data/mysql/slave2-slow.log |

+---------------------+-----------------------------+


3 内存优化

key_buffer_size:MyISAM引擎索引缓存的大小,4G内存建议设为256M,最大不超过4G

read_buffer_size:读查询(顺序读)使用的缓冲区大小,默认为128KB,此值为每个连接独享因此不能太大,在生产环境中,应进行多次测试,找到最佳值(为4KB的倍数)

read_rnd_buffer_size:读查询(随机读)使用的缓冲区大小,默认为256KB,同样是每个连接独享,一般来讲,可以适当调大

max_connections:MySQL允许的最大连接数,默认为151,如果主机性能和内存允许的话,500-800较为合适

thread_cache_size:Thread_cache池中可以缓存的连接线程最大数量,建议100以内


本文出自 “一万年太久,只争朝夕” 博客,请务必保留此出处http://zengwj1949.blog.51cto.com/10747365/1920738

MySQL优化之二:My SQL Server性能优化

标签:mysql 优化

原文地址:http://zengwj1949.blog.51cto.com/10747365/1920738

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