Optimizing MySQL Configuration |优化MySQL配置(一)

 

  优化MySQL配置

彼得·扎伊采夫mysql

Percona首席执行官sql

Percona MySQL的大学社区数据库

 

 

 

议程


  • MySQL 配置文件优化基础知识
  • 配置MySQL的工具
  • 介绍部分重要的变量选项

 

 

 

 

 

 

关于MySQL 配置文件须要掌握的内容


  • 默认配置比较差
    • Mysql配置不该该按服务器的规格比例去放大配置选项的值
  • 要了解你改变了什么
    • 不假思索的Google(绝大时候是百度,你懂的)复制/粘贴可很差
  • 避免被改变后的混乱(这里应该理解为:设置不一样的状况,试验了以后得出结果,避免错误产生)
    • 设置10个变量有可能提升95%的性能在95%的案例里面
  • 提防Mysql“Sample Configs”的配置
    • 他们(那些配置)太过期
    • 2G内存“很大”是什么时代的事了?

大多数配置不该该缩放(对比服务器的规格进行缩放)


  • 将服务器的内存扩展8倍,你不能只是简单的将全部的配置变量乘以8
  • 16GB的内存扩展到128GB的内存(这是个栗子)
    • sort_buffer_size 4MB变成32MB 简直做死(在没有确认知道总体服务器的状况,下文有说为啥)

 

理解范围和单位


  • sort_buffer_size=16G
    • 错!sort_buffer_size是设置每一个链接的配置
  • table_cache_size=64M
    • 错!table_cache_size是设置元素(高速缓存)而跟内存大小无关

 

 

 

 

 

设置本地变量


  • 许多变量是会话级别
    • 能够只为当前会话设置
  • 为一些复杂查询设置会话变量而不是全局变量:

mysql> set session sort_buffer_size=16*1024*1024;缓存

Query OK,0 rows affected ( 0.00 sec )安全

 

 

 

 

避免基本误区


  • 在错的配置文件路径配置变量
    • 配在/etc/mysql/my.cnf (错误)而不是/etc/my.cnf
    • 提防那些依赖于Linux发行版
  • 重复的选项
    • 后面的配置选项会覆盖写以前的配置
  • 不知道同义词
    • table_cache 等价于 table_open_cache
  • 配错选项配置区域
    • 服务端读取[mysqld],客户端读取[mysql]

 

 

配置管理实践


  • 保持配置文件在不一样的服务器上同步同样
    • 配置文件的同步是错误和混乱的一个常见缘由
  • 保留更改记录
    • 版本控制下的配置文件是最好的
    • 至少保持你的变化记录

 

 

不要让Mysql使用Swap分区


  • 有一个MySQL数据库,而且分配了太多的内存(这是个前提假设相对下面的)
    • 使用swap分区会比没有使用全部内存更糟糕
  • 监控swap分区使用(用vmstat密切关注si/so )
  • 从安全的缓冲值开始,并逐步增长直到有大量的内存保持free状态

议程


  • MySQL配置优化基础知识
  • 用工具配置MySQL
  • 观察最重要的配置选项点

 

 

自动化配置调优


  • 配置调优工具
    • 工具能经过查看状态变量(status variables)给出配置建议
  • 咨询工具
    • 工具能检查你的配置文件里面典型性错误或者遗漏的地方
  • 基本配置建立工具
    • 工具能给你配置一个初始化的比默认的配置文件更好的配置文件

 

 

下一页>>服务器


PPT在这里session

其中有歧义的地方咨询过公司专业翻译 -- 余小雪 妹子,so,转载请标明出处ide

相关文章
相关标签/搜索