(1)i/o路径基本如下:app i/o -> host HBA -> 存储前端端口 -> 存储写缓存 -> 后端总线 -> 后端磁盘
(2)写缓存对写性能的影响是一个大头,如果写缓存被禁用,性能会有很大影响。除非是那种大块连续I/O,且其大小已经超过了存储系统的“偏旁写(write aside)”值,这类I/O直接写后端磁盘,不经过写缓存。
1. CPU 必然参与i/o处理,把存储看成一个大黑盒子的话,主要就是以上这些部件,所以我没有把CPU列入。如果你要把主机端的细节也算进来的话,那么内存/CPU也是必然在路径之内的。主机端的OS一般都实现了cache/buffer(内存区域),用意就是在于增加性能。有些大型App,比如SQL SERVER, Exchange等实现了自己的Buffer机制,这些App会控制Buffer的使用。
2. 调优可以针对:缓存高/低水线、缓存大小、缓存页面大小(一般不动)、磁盘类型、RAID类型、磁盘数量、使用FAST CACHE之类的cache tier、避免磁盘竞争、调整前端/后端端口速率等等....