常见的磁盘I/O和网络I/O优化技巧
磁盘I/O 优化 性能检测 应用程序通过访问磁盘来读取数据,而磁盘I/O 通常都是很耗时间的,所以一般我们来判断I/O是否有瓶颈的时候,就需要一些参数指标来参考。 WAIT 指标 : 压测应用程序,查看系统I/O wait 指标是否正常,如果测试机器有4个CPU ,那么理想的I/O wait 参数不应该超过25% ,如果超过了25% ,那么就很可能成为程序的性能瓶颈,在Linux 下,可以通过iostat 命令查看。 IOPS(每秒读取次数) : 查看应用程序最低要求的IOPS 是多少,磁盘的IOPS 能不能达到要求。 每个磁盘的IOPS通常都在一定的范围内,当然这个和存储在磁盘上的数据块大小和访问方式相关。但主要是由磁盘的转速决定的。转速越高,则磁盘IOPS 越高。 提升I/O性能 通常提升I/O性能的方法有: 增加缓存,减少磁盘访问次数。 优化磁盘管理系统,设计最优磁盘方式策略,和磁盘的寻址策略,这是从底层操作系统层面的考虑。 设计合理的磁盘存储数据块,以及访问的策略。这是从应用层方面考虑的,比如给存放的数据加索引,通过寻址索引来加快和减少磁盘的访问量,以及异步和非阻塞的方式来加快磁盘访问速度。 当然我们现在通常采用一种叫做 RAID(磁盘阵列)的技术。 就是将不同的磁盘组合起来以提高I/O性能,现在有多种RAID 技术,每种RAID 技术对I/O性能的提升也不同。