MySQL 利用硬件资源特点

CPU的利用特点

  • <5.1 多核心支持较弱

  • 5.1 可以利用4个核

  • 5.5 可以利用24个核

  • 5.6 可以利用64个核

  • 每个连接对应一个线程,每个并发query只能使用到一个核

内存利用特点:

  • 类似ORACLE的SGA,PGA模式,注意PGA不宜分配过大

  • 内存管理简单,有效。在高TPS,高并发环境下,可增加物理内存以减少物理IO,提高并发性能

  • 官方分支锁并发竞争比较严重,MariaDB,Percona进行优化

  • 有类似ORACLE library cache的query cache,但效过不佳,建议关闭

  • 执行计划没有缓存(类似ORACLE library cache)

  • 通常内存建议按热点数据总量的15%-20%来规划,专用单实例则可以分配物理内存的50%~70%左右

  • 类似K-V简单数据,采用memcached,Redis等NOSQL来缓存

磁盘

  • undo log的I/O特征:顺序写,随机读

  • Redo log,Binlog的I/O特性:顺序写,顺序读

  • 数据文件的I/O特性:随机写,随机读

  • OLTP业务以随机IO为主,建议加到内存,尽量合并随机IO为顺序IO

  • OLAP业务以顺序IO为主,极大内存的同时增加硬盘数量提高顺序IO性能

  • MyISAM是堆组织表(HOT),InnoDB是索引组织表(IOT)

  • InnoDB相比MyISAM更消耗磁盘空间