测量磁盘使用情况

什么是最公平的单位来确定磁盘使用情况(除了总的存储使用情况,例如GB)?

  • IOPS?
  • 字节读/写?
  • 通过networking传输的字节(将等于字节r / w)?
  • 其他?

他们如何在Linux下确定?

这是关于虚拟存储实例的计费,通过networking上的虚拟服务器访问。

您可以使用以下命令进行磁盘监视:

# sar -p -d 1 1 

(如果系统上安装了sar软件包),使用sar也可以从/ var / log / sa / sar-01文件中检查历史logging中的磁盘读/写情况。

 # iostat -d -x 3 3 

最后两个数字是以秒为单位的间隔和重复的次数

 -d : Display the device utilization report (d == disk) -x : Display extended statistics including disk utilization 

答案更复杂,因为这是一个微妙的问题。 并非所有的存储都是一样的,不同types的工作需要不同types的存储。

最常见的存储types及其测量特征是:

  • 小块密集型随机IO :通常是数据库,有时是办公文件共享,对于执行此类工作的许多工作负载来说,瓶颈是IO / s,主要是读取,主要是随机(不可预测),大部分是小块IO。 这类工作通常是在小数据集上完成的,所以SSD是最佳的。 固态硬盘没有移动部件,通常可以提供数千IO / s。 Cache在这里非常有效,因为写操作通常比读操作less得多,所有的写操作都被caching,导致延迟非常低。 这个存储的测量是延迟最大IO /秒 (以及瓶颈IO /秒时的延迟有多高)。
  • stream式IO :通常是备份,有时是媒体馈送的文件共享,瓶颈更可能是每秒可以stream式传输的字节数 。 这里的写入也受益于caching,但是如果它真正stream式传输的时间超过了短暂的活动时间,则caching饱和,并且观察到的速度基本上是caching可以将写入降级到磁盘的速度。 在这个类别中,存储的大小更可能是很大的,并且由于SSD虽然仍然是最快的,但对于stream式IO而言不是磁盘的一个数量级(比如对于小的随机IO)会看到这个普通的驱动器。 15k RPM,10k RPM,7.2k RPM。 很多时候,如果尺寸比速度更重要,你会看到大容量的慢速驱动器(近线SAS或SATA),1TB-6TB的容量和7.2K RPM的主轴速度。
  • 混合工作负载 :通常pipe理程序。 他们需要一堆stream式IO虚拟机,一堆小块随机IO虚拟机,以及一系列的系统任务,这些系统任务允许存储池之间的快照和移动机器等虚拟机pipe理程序function,并将它们引入同一个IO队列中。 用单层磁盘来处理这种types的IO的时间最为困难,因此共享存储(如SAN或NAS)中的最佳实践是使用多种types的磁盘和存储层智能来尝试服务于随机带有SSD的IO热点和带有主轴驱动器的stream式IO。 衡量这种types的存储是延迟峰值IOPS ,以及字节/秒的吞吐量