赞
踩
我的云服务器硬盘性能到底有多快,以及该如何衡量呢?
希望你看过本文后,至少以后不要再用dd命令了~
通过讲解如何优雅扩容云硬盘,我们了解了云盘连接到服务器上的具体操作过程。那么,如何进一步了解已挂载硬盘的实际性能呢?你或许会疑惑,测试硬盘性能,为什么不能用Linux系统自带的dd工具呢?而且不少人之前都这么用的:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
其实这样做可能根本不能达到评测的目的。dd仅能作单线程的顺序写入工作,然后只报告一个类似吞吐量的数值,毕竟该命令最初就是用来dump disk的数据内容的。因为对于大部分典型的Web/数据库的服务器,是不可能只有这种写入模式的,所以dd显示的吞吐量不具备实际意义。另外,通常dd数据量过小,这个结果会很大程度上被云服务器所在的物理机缓存影响,且测试时间短,很可能测的不是一致的可持续的性能,而只是个峰值性能。另外,这个命令也几乎不能用来测试读性能。
在开始评测前,我们必须先明确需要考虑哪些指标。对于I/O密集型系统,其指标最重要的是以下三个:
上述这些指标,彼此并非是完全独立的,通常鱼与熊掌不可兼得,系统设计中常会做些妥协。且各类IO系统中,不论是硬盘还是网络,都会有类似概念的指标。我们将会在评测过后简要分析常见的优化思路。一般来讲,长时间的同类任务,通常系统吞吐量高更重要;短时间的随机任务,系统的时延小更重要,而在时延保证的前提下,IOPS越高系统的服务能力越强。
另外,读写块大小(I/O Block Size)是非常重要的因素。在具体的性能评测中,吞吐量和IOPS有如下关系:
所以在评测最大吞吐量和最大IOPS时,需要针对地选择BlockSize;提升BlockSize,通常会使系统吞吐率提升,系统IOPS下降。
另外,最大峰值性能(maximum performance)不同于可持续性能(sustained performance),所以在评测时需要维持一段时间的稳定负载并统计平均值。
如上所述,既然这些云硬盘的指标的关注点各不相同,那该如何判断,其
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。