磁盘利用率

由于磁盘之间的传输速率各不相同,大多数操作系统都不直接报告磁盘利用率。相反,它们报告每秒的数据传输量(以操作系统内存页大小为单位)。

因为每个磁盘都充当一个单独的资源,所以可使用下列基本公式来估计服务时间,这在资源利用率中有详细描述:
S =    P/(1-U)

为了比较存取时间相近的磁盘上的负载,只要比较每秒的平均传输量即可。

如果知道给定磁盘的存取时间,就可以使用操作系统报告的每秒传输量来计算磁盘的利用率。要进行此操作,用每秒的平均传输量乘以磁盘生产商列出的磁盘存取时间。根据磁盘中数据的分布,存取时间可能不同于生产商的标定值。 考虑到这种可变性,应该将制造商的存取时间规格增加 20%。

下面的示例显示了如何计算存取时间为 30 毫秒、每秒平均 10 个传输请求的磁盘的利用率:
U =     (A * 1.2) * X 
    =     (.03 * 1.2) * 10 
    =     .36
U
是资源利用率(这里是指磁盘的利用率)。
A
是生产商列出的存取时间(秒)。
X
是操作系统报告的每秒传输量。
可以使用利用率估计出要求给定磁盘传输量的事务在磁盘上的处理时间。要计算磁盘上的处理时间,可以将磁盘传输量乘以平均存取时间。包括考虑到存取时间可变性的额外的 20%:
P = D (A * 1.2) 
P
是磁盘上的处理时间。
D
是磁盘传输量。
A
是生产商列出的存取时间(秒)。
例如:可以如下计算要求 30 毫秒磁盘存取时间的 20 个磁盘传输量的事务的处理时间:
P =    20 (.03 * 1.2)
    =    20 * .036
    =    .72
使用计算得到的处理时间和利用率值来估计特定磁盘上 I/O 的预期服务时间,如下例所示:
S =    P/(1-U)
    =    .72 / (1 - .36)
    =    .72 / .64
    =    1.13