对于redo log,binlog这种日志进行的磁盘顺序读写
- 在写redo log日志的时候,其实是不停的在一个日志文件末尾追加日志的,这就是磁盘顺序写。
- 磁盘顺序写的性能其实是很高的,某种程度上来说,几乎可以跟内存随机读写的性能差不多,尤其是在数据库里其实也用了os cache机制,就是redo log顺序写磁盘之前,先进入os cache,就是操作系统管理的内存缓存里。
对于表空间磁盘文件里的数据页进行的磁盘随机读写
- 磁盘随机读的性能是比较差的,所以不可能每次更新数据都进行磁盘随机读,必须是读取一个数据页之后放到buffer pool的缓存里去,下次要更新的时候直接更新到buffer pool里的缓存页。
- 对于磁盘随机读来说,主要关注的性能指标是IOPS和响应延迟
- IOPS指标实际上对数据库的crud操作的QPS影响非常大的,因为他在某种程度上几乎决定了你每次能执行多少个SQL语句,底层存储的IOPS越高,你的数据库的并发能力就越高。
- 一般对于核心业务的数据库的生产环境机器规划,我们都是推荐使用SSD固态硬盘,而不是机械硬盘,因为SSD固态硬盘的随机读写并发能力和响应延迟要比机械硬盘好得多,可以大幅度提升数据库的