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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL优化之二:My SQL Server性能优化相关的知识,希望对你有一定的参考价值。

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的配置优化

Mysql性能优化详解

MySQL性能优化

Mysql性能优化:从逻辑分层存储引擎到解析过程

SQL Server数据库的高性能优化经验总结

Mysql 性能优化 ( my.cnf )