I/O调优
磁盘I/O优化
应用程序通常要访问磁盘来读数据,但是磁盘I/O通常很耗时间,于是首先我们要对磁盘I/O进行优化:
-
性能检测指标
-
I/O wait
我们可以用压力测试应用程序的I/O wait参数,例如,测试机有4个CPU,那么理想的I/O wait参数应该$\leq$25%,如果超过了25%,那么I/O很可能成为程序的瓶颈。(Linux命令:iostat)
-
Throughput
Throughput(数据吞吐量),指单位时间内可以成功传输的数据数量。对于大量顺序读写的应用,如VOD(Video On Demand),则更关注吞吐量指标。(Linux命令:iostat)
-
IOPS
IOPS (Input/Output Per Second)即每秒的输入输出量(或读写次数),又指单位时间内系统能处理的I/O请求数量,是衡量磁盘性能的主要指标之一。随机读写频繁的应用,如OLTP(Online Transaction Processing),IOPS是关键衡量指标。
每个磁盘的IOPS通常在一个范围内,主要由磁盘转速有关,转速越高,IOPS越高,同时也和磁盘的数据块大小和访问方式有关。
下面公式也就图一乐,RAID一会儿讲,不着急总IOPS=(磁盘数x每块磁盘的IOPS)/(磁盘读的吞吐量+RAID因子x磁盘写的吞吐量)
-
-
性能提升方法
-
增加缓存,减少磁盘访问次数
-
优化磁盘的管理系统,设计磁盘寻址(操作系统层)
-
设计合理的磁盘存储数据结构ÿ
-