1) innodb_buffer_pool_size

如果用Innodb,那么这是一个重要变量。相对于MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为内存的70%-80%。和 key_buffer相同,如果数据量比较小也不怎么增加,那么不要把这个值设太高也可以提高内存的使用率。

2) innodb_additional_pool_size

这个的效果不是很明显,至少是当操作系统能合理分配内存时。但你可能仍需要设成20M或更多一点以看Innodb会分配多少内存做其他用途。

3) innodb_log_file_size

对于写很多尤其是大数据量时非常重要。要注意,大的文件提供更高的性能,但数据库恢复时会用更多的时间。我一般用64M-512M,具体取决于服务器的空间。

4) innodb_log_buffer_size

默认值对于多数中等写操作和事务短的运用都是可以的。如果经常做更新或者使用了很多blob数据,应该增大这个值。但太大了也是浪费内存,因为1秒钟总会 flush(这个词的中文怎么说呢?)一次,所以不需要设到超过1秒的需求。8M-16M一般应该够了。小的运用可以设更小一点。

5) innodb_flush_log_at_trx_commit (这个很管用)

抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了调整这个值。默认值1的意思是每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电 池供电缓存(Battery backed up cache)时。设成2对于很多运用,特别是从MyISAM表转过来的是可以的,它的意思是不写入硬盘而是写入系统缓存。日志仍然会每秒flush到硬 盘,所以你一般不会丢失超过1-2秒的更新。设成0会更快一点,但安全方面比较差,即使MySQL挂了也可能会丢失事务的数据。而值2只会在整个操作系统 挂了时才可能丢数据。

6) innodb_flush_method: 设置InnoDB同步IO的方式

1) Default – 使用fsync()。

2) O_SYNC 以sync模式打开文件,通常比较慢。

3) O_DIRECT,在Linux上使用Direct IO。可以显著提高速度,特别是在RAID系统上。避免额外的数据复制和double buffering(mysql buffering 和OS buffering)

7) 保持 thread_cache 在一个相对较高的数字,大约 16 – 防止打开连接时缓慢。

8) 分配一个极小的数量给 max_connections 参数 – 太多的连接会用尽RAM并锁定MySQL服务。

9) 将 innodb_autoextend_increment 配置由于默认8M 调整到 128M

此配置项作用主要是当tablespace 空间已经满了后,需要MySQL系统需要自动扩展多少空间,每次tablespace 扩展都会让各个SQL 处于等待状态。增加自动扩展Size可以减少tablespace自动扩展次数。

注:修改完配置之后重启可能失败,这时需要删除 /var/lib/mysql/ 目录下的两个ib_logfile文件 命令rm -fr /var/lib/mysql/ib_logfile* 然后执行重启命令(service mysqld restart))重启执行mysql –uroot -p进入mysql 利用命令show variables like '%storage%';查看参数是否已被修改。

最新文章

  1. 装逼名词-ABA CAS SpinLock
  2. spring ehcache 页面、对象缓存
  3. Vue#Class 与 Style 绑定
  4. 【227】◀▶ IDL 其他常用函数
  5. 越狱Season 1-Episode 9: Tweener
  6. 理解extern
  7. dom三个事件
  8. [置顶] Android4.0中修改挂断键(ENDCALL)的默认行为
  9. MySQL create table 语法
  10. tcprstat
  11. 用过的一些Android设备调试特性注意点(挖坑帖)
  12. SSM-SpringMVC-09:SpringMVC中以继承MutiActionController类的方式实现处理器
  13. 线程——自定义多线程task
  14. java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问
  15. JUnit4源码学习笔记
  16. 通信导论-IP数据网络基础(1)
  17. Vue 改变数组中对象的属性不重新渲染View的解决方案
  18. 阅读<All Digital VCXO Replacement for Gigabit Transceiver Applications>笔记---XAPP589
  19. ubuntu单独安装字体包
  20. select,radio,checkbox兼容性

热门文章

  1. iOS 读书笔记 第一章
  2. 春哥的nginx systemtap调试脚本简单介绍
  3. SolidEdge 如何绘制局部视图 局部放大图
  4. ZOJ ACM 1314(JAVA)
  5. push代码到github时,每次都要输入用户名和密码的问题
  6. linux下ndk编译命令行程序及配置
  7. 解压Zip
  8. mac下配置eclipse的maven环境
  9. 2017ACM/ICPC广西邀请赛 K- Query on A Tree trie树合并
  10. Codeforces Round #422 (Div. 2) C. Hacker, pack your bags! 排序,贪心