DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开
DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开

【Eden Kim】真实世界的存储工作负载是什么,我为什么关注它?

真实世界的工作负载测试一直是计算机大容量存储测试的必杀技。速度更快的SSD与虚拟化计算的使用已经将测试和评估SSD存储解决方案的焦点从极端基准测试转移到现实世界存储工作负载的捕获和使用。

新的免费软件工具,可在www.TestMyWorkload.com下载,允许跨平台捕获,实现真实世界存储级工作负载的可视化测试。

真实世界的存储工作负载是什么?真实世界的工作负载,从存储SSD角度来看,是使用计算机系统,数据中心网络服务器,超融合服务器,独立服务器,台式机或笔记本电脑时出现的IO流的集合。 IO流部分是由你的软件应用程序,操作系统(OS),用户操作,元数据,日志活动,存储分层策略,RAID配置以及硬件和软件层抽象生成的。

SSD工作负载IO流是由不同数据传输大小(或块大小)和读/写(R/W)混合的特定随机(RND)或顺序(SEQ)访问组成。

工作负载IO流从用户空间到存储,遍历硬件和软件堆栈然后返回。IO流可以通过诸如虚拟化,分组化,数据简化(压缩和重复数据删除),加密等多种活动在每个硬件和软件层受到影响(变化)。此外,IO流可以被分解成更小的随机或并发传输,并入更大的并行或异步IO或追加创建不同的数据传输大小。

典型的真实世界工作负载是由几十,几百甚至更多的IO流组成,IO活动通常由少量的IO流支配。例如,可能会出现几百个独立IO流,在那里只有六到八个流构成IO活动总数的90%或更多。

我为什么要关心它?

SSD性能是不对称的——SSD性能本身就不对称(读取速度更快,写入速度更慢),性能高度依赖于SSD工作负载。

性能取决于SSD“看到”的工作负载——由于SSD的性能是不对称的,因此了解SSD实际上所看到的工作负载是至关重要的。由于工作负载IO流在穿过硬件/软件堆栈时发生了变化,那么尽可能靠近存储捕获工作负载非常重要。

你的应用程序工作负载可能与供应商的标准工作负载不同——你的SSD设计和优化可能基于一系列供应商选择的访问模式或与现实世界使用案例不符的工作负载。因此,如果你的SSD针对大型块顺序读取流量进行了优化,那么如果你的工作负载实际是由小块随机写入流量组成,那么它的性能就会很差。

每个人都可以从IO捕获,分析和测试中获益——几乎所有人都能从了解他们的SSD工作负载中获益。IO捕获,分析和测试将吸引SSD制造商,设计师,vmware开发人员,故障分析工程师,营销主管,增值经销商,系统集成商,IT专业人士,顾问,学者,研究人员,分析师,游戏玩家,发烧友充满好奇心。

几乎所有的客户和企业应用程序都可以从IO捕获,分析和测试里获益。许多应用程序将独特的或计算密集型的工作负载应用于SSD,但我们不知道“净SSD工作负载”是什么样的。无论是使用案例或应用程序,实际的IO捕获可以帮助识别SSD工作负载,并有助于改进SSD设计和优化。

综合基准​​测试与真实世界的工作负载有何区别?

合成基准测试通常使用“四角压力测试”,由特定的一组访问模式和块大小/读/写(BS/RW)混合组成的。此外,这些工作负载通常应用在一个或多个IO流中。

SSD的设计和测试采用极端基准测试,或由较少的用户应用程序工作负载的粗略估算的IO流和base 2整数块大小(如4K,8K,16K,32K等)。

请参见图2,显示单个SSD上的四角环境工作负载。真实世界的工作负载是众多复杂的IO流配置,代表了在多个硬件平台和操作系统上运行的一组几乎无限的用户工作负载。

由于真实世界的工作负载与用于制造和优化SSD的工作负载不同,供应商或制造商的性能指标可能与SSD的实际工作负载和性能无关。

什么是IO捕获?

IO捕获是指你的计算机上发生的IO流活动的收集和统计表。IO捕获与IO跟踪和回放不同,因为它没有从目标计算机收集数据。IO捕获仅识别并计数访问存储的IO数,并收集各种有意义的指标信息。

IO流被列为各种数据传输大小和R/W混合的随机或顺序访问。指标收集是针对IOPS速率,吞吐量(MB/S),队列深度和响应时间,并且根据软件工具,可以收集更多高级指标,例如LBA(逻辑块寻址),重复数据删除率和压缩比(有关IO捕获指标的更多讨论,请参见下文)。

IO追踪和重放是指写入存储器的二进制数据实际记录,包括闲置时间,未来可在不同的设备上重播。IO追踪收集了大量的数据。

这限制了测试周期的实际长度,并将需求强度限制为源捕获的强度。大型追踪文件也让管理(收集和回放)已创建的超大数据文件变得困难。

如何捕捉真实世界的工作负载?

公有和私有工具帮助你捕获真实世界的工作负载IO文件。公有工具诸如用于Windows的PerfMon(Performance Monitor)和用于Linux的BlkTrace(Block Trace),提供用于报告和收集IO流量统计信息的操作系统内核工具,也可以使用诸如Calypso IO分析器之类的免费工具实现具体的监控和测量存储IO流量目的。IO 分析器提供详细的特定输出,支持SSD特性和测试。可在TestMyWorkload.com下载。其他高级度量,数据分析和测试功能可以购买“Pro”版本IO分析器。

我们在软件堆栈方面采取IO捕获重要吗?因为IO流在穿过硬件和软件堆栈(并受到系统缓存和软件抽象使用的影响)时会发生变化,所以将IO流尽可能接近存储级以便了解真正的SSD工作负载至关重要。在平台和操作系统之间拥有通用的IO捕获工具可以增强不同平台和操作系统之间的工作负载的对比。

IO捕获如何可视化?

获取IO捕获的原始数据有很多方法——从简单的数据点值到csv表到关键的单一指标绘图。TestMyWorkload.com的免费工具利用创新的数据可视化和数据分析工具来显示SSD存储规格在丰富的上下文数据仪表板中捕获信息和指标。

IO流映射

TestMyWorkload.com示例3显示了2000个批发零售网络服务器的24小时IO捕获信息。IO流映射显示了所有在24小时内出现的IO流。每个单一IO流都用颜色表示,并列为数据系列图例。IO流量度量根据Frequency(概率%)或Amount Transferred(GB)显示。

流阈值功能过滤IO流,仅显示构成​​所选百分比的IO流活动。默认值显示IO流的总数为3%或以上。更改流阈值将相应更新IO映射,LBA映射和工作负载分段表。

工作负载分段表标记A,B,C和D的红线表示所选的工作负载段。工作负载表(见图5)列出了整个捕获周期内出现的所有单一IO流。在这里,累加的工作负载显示3个流,占总IO总数的55.1%(163.5GB的5,038个流)。如果流阈值降低到2%,则将增加2.12%的附加随机8K R流,达到4个IO流。时间点,时间段或进程ID(见软件进程ID列表)的其他选定工作负载显示为工作负载A,B和C.

选择窗格和软件进程ID列表,在用户窗格中选择“进程”显示IO

通过软件进程ID捕获指标。默认视图显示操作系统标识的所有进程。可以选择特定的进程显示。在下面的图6中,Windows系统进程被隔离显示。请注意进程ID显示与特定进程相关的IO。然而,所选择的进程ID可能不会显示与进程相关联的所有IO,因为许多的应用进程可能被包含在更广泛的系统进程ID内。

LBA范围地图

LBA范围显示每次IO访问由LBA(逻辑块寻址)范围以百分比表示。 100%LBA范围代表整个用户可​​访问的存储区域。可以将IO流过滤以显示随机或顺序访问。访问的数据量由在LBA范围图上显示的气泡颜色和大小表示。 LBA图显示每个IO流的局部空间和时间并可用于设计或验证存储分层策略和软件层优化。

关键的IO捕获指标是什么?

下面讨论一些关键的IO捕获指标。满足最低百分比阈值的IO流将显示在IO流映射上。IO流阈值可以设置为0.5%至10%,并可通过频率或数量来查看。

数据传输

在图7中,每个IO流(或数据传输)都有独特的颜色。当工具提示悬停或选择数据点或段时,会显示IO流详细信息。

写入存储并指示写入存储的数据可以额外压缩多少。可以在任何时间点或过程中查看工作负载的平均值和最大可压缩比。

重复删除率

重删比率分析写入存储的二进制数据,并指示写入存储的数据可以再额外去删重多少。任何时间点或过程都可以查看重复数据删除率。

未经允许不得转载:DOIT » 【Eden Kim】真实世界的存储工作负载是什么,我为什么关注它?