高性能MySQL–优化服务器设置

  •   
  • 3169
  • MySQL
  • 31
  • super_dodo
  • 2017/03/03

如果大部分都是InnoDB表,InnoDB缓冲池或许比其他任何东西更需要内存。InnoDB缓冲池并不仅仅缓存索引:它还会缓存行的数据、自适应哈希索引、插入缓冲(Insert Buffer)、锁,以及其他内部数据结构。InnoDB还使用缓冲池来帮助延迟写入,这样就能合并多个写入操作,然后一起顺序地写回。总之InnoDB严重的一来缓冲池,你必须确认为它分配了足够的内存。

随机IO比顺利IO要昂贵得多。InnoDB的日志是环形方式写的。通常不需要把日志的缓冲区设置得非常大,推荐的范围是1MB-8MB,一般来说足够了,除非要写很多相当大的BLOB记录。InnoDB用fsync()来刷新数据和日志文件。

InnoDB的并发配置 innodb_thread_concurrency变量,它会限制一次性可以有多少线程进入内核,0表示不限制。并发值 = CPU数量 * 磁盘数量 * 2

如果使用的是InnoDB,最重要的选项是下面两个配置项:innodb_buffer_pool_size 和 innodb_log_file_size

吾生也有涯,而知也无涯。以在涯随无涯,殆已;已而为知者,殆而已矣。——庄子《养生主》

高性能MySQL--MySQL架构与历史

高性能MySQL--MySQL基准测试

高性能MySQL--服务器性能剖析

高性能MySQL--Schema与数据类型优化

高性能MySQL--创建高性能的索引

高性能MySQL--查询性能优化

高性能MySQL--MySQL高级特性

高性能MySQL--优化服务器设置

高性能MySQL--操作系统和硬件优化

高性能MySQL--复制

高性能MySQL--可扩展的MySQL

高性能MySQL--高可用性

高性能MySQL--云端的MySQL

高性能MySQL--应用层优化

高性能MySQL--备份与恢复

高性能MySQL--MySQL用户工具