性能 , 是存储系统永不停止的追求。在宣传自身高性能方面,厂商都 各出奇招 ,在性能 参数上 也是参差不齐,如 cache全命中 IOPS、 256K I/O 带宽、100 %写 时延,这一切 都是 为了向用户 传递 自身性能 最高 ,无惧 业务 高峰期 压力的 形象。但到底怎样才是真的 高性能 呢?
花招1 :全命中 性能
宣传性能时 , 很多厂商会在后面的备注里面 用 小字写上 “ 100% cache hit ”, 这意味着所有的数据都在内存中,并没有真正的做到持久化的保存 。 全缓存命中的性能并非没有价值 , 现代IT架构高性能的关键 , 就是将使用最频繁的数据存储在响应最快的地方。
如何用好缓存来存储最热的数据是一个值得探讨的话题,但如果对外宣传的性能采用全内存命中 , 则不是很诚实的行为,因为业务模型的不一致,导致我们的缓存命中率在不同客户环境 下 大相径庭 。
花招2 :100%读的性能
当前主流SSD在全读时性能非常好,而写入并没有那么快,原因是每次写入数据时 , SSD盘都需要先擦除一个NAND的数据,再来写入全新的数据,这个过程称之为“Program/Erase ”, 在主流的MLC / TLC NAND Flash中 , 这个操作耗时大概在1 到 2 毫秒 ,从而导致读写差异非常大。
NAND Flash写入/擦除 数据方法
当然 , SSD盘内部一般都会保留大量的OP ( Over Provisioning ) 空间,并不是每次写入都需要执行“erase->program”。但总体来说 , 读写混合场景 相比 全读场景 , SSD的性能有一个较大的衰减。因此 , 100% 纯读性能值 只是 迷惑消费者的 幻影步法 ,真实性能值需要考虑实际业务模型 , 比如 8 K I/O数据块 、7:3混合 读写 、 RAID5 /6配置 就是数据库场景下的典型业务模型。
典型 场景数据模型
花招3 : 非 长稳性能
有一句话叫做“存储的性能曲线会唱歌”,很多厂商宣传的只是在一个特定模型 和 特定压力下的基准值,并没有展示其性能的稳定性。
众所周知 ,业务压力突变时,存储性能的稳定性至关重要,也就是存储服务在复杂环境 、 复杂场景下的稳定性 。 当我们考虑存储 的 SLA时 , 稳定性应该作为我们最关注的指标之一。一般情况下 , “稳定性”是指99%的业务需求响应速度都应该稳定在某个特定的目标,如果波动太大则意味着用户体验会变差 , 但当前很多 用户 并没有意识到这个问题。
了解更多,快闪存储 https://e.huawei.com/cn/products/cloud-computing-dc/storage/unified-storage/dorado-v3