最近在翻去年Flash Summit的资料,看到一张图,说的是因为IOPS/GB的要求,SATA SSD最多也只能做到960G,因为SATA接口的速度限制,一旦容量超过960G,IOPS/GB就会掉的很厉害。
相应的,PCIe NVMe SSD在满足100 IOPS/GB要求的情况下,能够支持的容量要大的多。
这个很好理解,因为PCIe总线的吞吐量要比SATA高很多。
反而IOPS/GB这个概念挺有意思,为什么会有这样一个指标?
在Google 上一顿翻炒,在Tintri的官网上找到了一个解释:
这个概念最早被提出来是为了比较SSD和HDD,为了跑一个特定的应用或者服务需要采购存储时,到底是买SSD还是HDD。
一个Application,无非从两个方面考虑, 需要多少空间(capacity),性能要到多少(IOPS)。
-
Capacity cost = GB needed X $ per GB
-
Performance cost = IOPS needed X $ per IOPS
因为HDD的$/GB比SSD要低很多,而SSD的$/IOPS又比HDD低很多,所以比较的关键点在于: 买这个Application所需的capacity的SSD的价格,和买这个Application所需的IOPS的HDD的价格。
如果Capacity cost of SSD < performance cost of HDD,
就买SSD,反之就买HDD
将这个公式细化:
GB needed X $ per GB of SSD < IOPS needed X $ per IOPS of HDD
再变化一下:
IOPS needed/GB needed > $ per GB of SSD/$ per IOPS of HDD
到这里,看到IOPS/GB了,那这个参数什么意思呢?
文中提到当时$ per GB of SSD是2刀,而$ per IOPS of HDD也是2刀,那么如果运行这个Application会产生>1 IOPS/GB的数据($ per GB of SSD/$ per IOPS of HDD=2/2=1) ,就应该用SSD。
为了对IOPS/GB有个更直观的认识,文章举了例子:Outlook Exchange会产生是4 IOPS/GB的数据, Sharepoint是 2 IOPS/GB。
Google说,亚马逊提供的云存储服务,日前把IOPS/GB从30提高到了50。
Tintri官网原文链接:https://www.tintri.com/blog/2011/12/when-it-cheaper-use-ssd-vs-hdd