|
两手都要抓 IOPS和延迟关系解读
我以前写文章解释过存储用户怎样把精力放在吞吐量上。在数据中心中,主要程序的性能可能更依赖于存储系统的能力—在低延迟的条件下满足每个I/O的需求同时实现高IOPS。
我以前写文章解释过存储用户怎样把精力放在吞吐量上。在数据中心中,主要程序的性能可能更依赖于存储系统的能力—在低延迟的条件下满足每个I/O的需求同时实现高IOPS。 不幸的是,很难从供应商或生产厂家得到有用的IOPS和延迟数据。主要问题是没有标准的I/O操作。当我们说到IOPS的时候,就必须要清楚I/ O操作的大小和类型。你经常能见到运营商宣称能实现100,000 或 1百万的IOPS,但是他们从来不说是在512比特次序读写还是在4k随机读写条件下实现,或许他们使用了虚拟的数据I/O,为的是让他们的系统看起来更好。 这还不够坏,运营商有时还会在很小的逻辑磁盘上运行像Iometer这样的简单测试。这种情况下,大部分I/O性能来自于控制器缓存而非磁盘本身。 不仅仅是IOPS 即使供应商新型的存储系统在60/40混合读写条件下能奇迹般地实现1,000,000 4K随机IOPS,我还是想知道它的延迟是多少。Dimitris Krekoukias在最近的一篇关于IOPS和延迟的博客中写道:某供应商的系统能实现15000的IOPS,平均延迟为25ms。但是数据库引擎还是提示高水平I/O等待时间。 一位批评家在Krekoukias's Ruptured Monkey博客中详细叙述了只有在延迟小于4ms的情况下,信用卡处理器才不会减慢防诈骗或提款授权等进程。 实现高性能的关键是高IOPS和低延迟的结合。当应用对存储系统的要求提高时,延迟可能会和IOPS一起升高,这将严重影响系统性能。 正因为IOPS和延迟之间有这样的关系,所以像JetStress,TPC-C和SPC-1这样的测试的结果就比Iometer这样的简单测试要有效。这些测试不仅能体现出供应商设备的原始性能,还能体现延迟。JetStress不能在延迟超过20ms的系统上进行,SPC会在几个负载高峰提示延迟信息而TPC则体现平均,90%和最大延迟。 固态存储缓存改变游戏规则 平均延迟和应用性能有直接关系。在有闪存和硬盘的混合存储系统中,90%延迟读数就更有意义了。 90%的延迟数据可能不一致,很多基于闪存的系统在写入程序中都有这个问题,固态硬盘不得不来实现一部分写入功能。精心设计的系统有充足的RAM缓存和闪存来保证相对稳定的延迟。 一旦你把一大堆硬盘或固态硬盘安装到一个系统中,像控制器CPU或缓存大小或系统数据组织方式等因素就开始影响到IOPS和延迟。所以你最好两方面都重视。
责编:赵龙
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
最新专题
|
|