在上篇文章“深入浅出存储性能评估方法论”中,我们介绍了性能评估相关概念和原理,但是在项目实战中,要根据业务真实诉求给出切合实际的性能配置,还需要针对业务模型进行最佳实践分析和洞察,从主机端口、存储系统、后端磁盘等端到端进行分析和评估,在本文中把常见的性能评估过程中的难点依次罗列,希望对大家有所帮助。
IO聚合成满分条写优化写惩罚
IO聚合成满分条大小的情况下,无需做预读操作,不会触发RAID写惩罚,RAID写惩罚在不是满分条写的时候,才会触发预读的流程。以RAID5-5小写为例,写一个数据位,需要预读两次,写校验位一次。可以认为是一个IO被放大成了四个IO。
而满分条写的时候,同时写四个数据位,不需要预读,只需要额外写一次校验位,可以认为是四个IO被放大成了五个IO 。对比非满分条写,效率大大提高。
存储的IO合并能力对于数据库业务是否各家都能做到IO合并呢?一般存储针对不同类型的IO有不同的合并能力;数据库业务主要是随机IO,各厂商都做不到完全满分条IO合并。存储收到的IO是否能够合并,主要取决于两个方面。
1、主机侧发下来的业务IO模型:IO是否顺序,是否连续,与主机业务软件本身、主机侧块设备、卷管理策略、HBA卡拆分策略等相关。主机下发的IO越顺序、越连续,到达阵列后的合并效果越好。
2、存储侧对IO的合并能力:IO路径上的Cache、存储块设备、硬盘等模块都会对IO进行排序与合并的操作,试图尽可能将小IO合成大IO下盘。
对于顺序小IO而言,基本上能够实现将IO都合并成满分条后下盘。而对于IO随机程度较高的数据库业务,各厂商都无法确保所有IO都能够合并,只能尽量通过排序和合并,将相邻地址的小IO合成大IO,但合并程度由于算法实现和内存大小等因素可能会有所差异。
OLTP、OLAP、VDI和SPC-1业务模型
OLTP、OLAP、VDI和SPC-1是当前性能评估中常见的三类业务场景。SPC-1是业界通用的随机IOPS型的IO模型,在不清楚实际业务类型的条件下,常用此模型来进行性能评估。四种模型的简单IO特征如下表所示。
下面将分别介绍四种模型的业务特性与IO特征:
一、OLTP业务模型和特征:
1、业务特征:每个事务的读,写,更改涉及的数据量非常小,同时有很多用户连接到数据库,使用数据库,要求数据库有很快的响应时间,通常一个事务在几秒内完成,时延要求一般在10-20ms。
2、IO特征:针对DATA LUN,随机小IO,IO大小主要为8KB(IO大小与数据库的Block块大小一致),读写比约为3:2,读全随机,写有一定合并。 针对LOG LUN,多路顺序小IO,大小不定,几乎都是写IO。
二、OLAP业务模型和特征: