|
两手都要抓 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个工作日内配合处理。 |
最新专题 |
|