作者:范军 (Frank Fan)新浪微博:@frankfan7   微信:GetToCloud

在实战存储设计之六Latnecy我们介绍Latency过高的原因和一些建议。本文重点分析Block Size对性能特别是latency的影响。

什么是Block Size

Block Size这个词在不同的语境中有不同含义。在此文中指的是在OS中运行的应用发出一个IO读或写请求所传送的数据单元的大小。无论你采用传统存储架构,还是融合,超融合等架构,IOBlock Size对性能都有影响。

如同下图所示,一个IO请求比如搬一块砖,砖块的大小对整个存储架构中的很多组件的负荷都有影响。比如HBA,存储交换机,存储系统的CPU等等,当然存储介质本身对不同砖块的处理能力也不同。

上图摘自博客vmpete.com

为什么Block Size对存储性能有很大影响?

对Throughput的影响:

Throught =  IOPsx  Block size

同样是10IOPs,256K blocks 需要传输的数据是4K Blocks 的64倍!那么自然会对存储网路的带宽以及存储控制器的CPU消耗都有影响。

对时延Latency的影响

上图摘自vmpete.com。 这是在采用存储性能分析软件PernixData  Architect之后,显示了不同Block Size对Lantency的影响。可见当Block Size大于64K时对Lantency的影响最大。


如何来应对大数据块IO带来的挑战呢?

以前没有工具或简单的方法可以很好了解应用产生的Block Size。而且在常规存储设计中,并没有太多顾及到应用产生的Block Size, 往往是根据一些假设条件来做出设计决定。即使在存储阵列中采用闪存,其实并不能减少。大数据块IO对HBA,存储网络以及存储控制器产生的负荷。并且我们发现常规SSD硬盘处理大数据块IO的性能并不理想。

利用IO BlockSize真实案例:

案例一:

某客户发现应用性能下降,经排错发现大数据块IO对Latency的影响极大。在不对后台存储有任何改变的情况下,采用PernixData FVP软件和服务器端NVMe PCI闪存对存储性能加速。极大的降低了大数据块IO对Latency的影响。注意该用户才用NVMe PCI闪存而不是常规SSD Drive。因为常规SSD硬盘处理大数据块IO的应能并不好。

案例二:

某客户发现很多应用的性能下降。经排错发现某SQL虚拟机产生非常多的大数据块IO,对该SQL优化后问题解决。

案例三:

某云服务提供商在所有虚拟机中设置 Disk IO Limit,以防止共享环境中某些虚拟过度占用存储资源。vSphere 5.5以后对mclock diskscheduler 作了更改,对于block size 大于32K的IO,从Disk IO limit这个角度上讲,不在认为该IO只是一个IO.   比如 256K blockSize IO 会被认为是8个IO。

了解应用Block Size的大致情况,会对更好的设置Disk IOLimit有很大帮助。

Reference:

Viewing the impact of block sizes with PernixData Architect

Limit a VM from an IOps perspective

【虚拟化实战】存储设计之七Block Size相关推荐

  1. 【虚拟化实战】存储设计之一存储类型

    Problem Statement 存储设计是虚拟化设计的重要部分之一,确定合适的存储类型是展开存储设计的关键一步. FC/FCoE, iSCSI, NFS 甚至 Local Storage,  你会 ...

  2. 【虚拟化实战】存储设计之二LUN Sizing

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 我们经常在FC存储设计中常问的是:LUN多大合适,一个LUN能最大支持多少个虚拟机? 在存储扩容时常见 ...

  3. 实战虚拟化存储设计之LUN Sizing

    作者:范军 (Frank Fan) 新浪微博:@frankfan7   微信:frankfan7 我们经常在FC存储设计中常问的是:LUN多大合适,一个LUN能最大支持多少个虚拟机? 在存储扩容时常见 ...

  4. 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面

    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备.唯有谨慎估算贴近实际的IOPS性能,才能有效避免日后部署时出现任何不必要的性能问题. 虚拟化议题已经日 ...

  5. 【HCIA-cloud】【4】服务器虚拟化之存储资源管理:存储资源类型说明、存储配置模式说明【普通、精简、延迟置零】、虚拟机磁盘类型说明、FusionCompute中操作添加存储

    目录一览 说明 存储资源类型 存储虚拟化与华为云计算存储对比 FusionCompute存储资源与存储资源使用对比 FusionCompute中的存储资源类型 物理磁盘 SATA盘 SAS盘 NL-S ...

  6. 项目经理必读:虚拟化评估与设计14步

          有需要这个PPT的,请访问老方的BLOG下载页面:基于hyperV的微软虚拟化评估与设计14步 今天,企业部署服务器虚拟化可谓如火如荼,几乎每一位IT人员都或多或少的了解一些服务器虚拟化技 ...

  7. 服务器虚拟化改写存储演进图

    [IT168 资讯]虚拟化厂商与NetApp近日联手,多项虚拟化新技术都将被应用于存储领域.双方的合作使业界的目光再次聚焦于服务器虚拟化与存储的整合.服务器虚拟化技术发展如火如荼,存储系统无疑会受到影 ...

  8. 中间件事务码R3AC1里Block Size的含义

    2019独角兽企业重金招聘Python工程师标准>>> 在中间件事务码R3AC1可以为一个中间件的适配器对象维护Block size的大小. 以上图的尺寸为50为例,假设在ERP系统 ...

  9. linux存储--inode与block详解(八)

    Linux下的格式化命令是mkfs,mkfs在格式化的时候需要制定分区以及文件系统类型.该命令其实就是把我们的连续的磁盘空间进行划分和管理.我在我的机器上执行了一下,输出如下: # mkfs -t e ...

最新文章

  1. 关于python中程序流程结构-Python语言程序设计(第4章:程序结构设计)
  2. 第四篇 前端学习之JQuery基础
  3. spark将rdd转为string_大数据技术之SparkCore(三)RDD依赖关系
  4. 极力推荐5款我一直在使用的Chrome优秀插件!
  5. Asp.net中实现同一用户名同时登陆,注销先前用户(转)
  6. 使用jdbc执行SQL实现登录查询2-避免SQL注入版
  7. 是真“开发者”,就来一“测”到底!
  8. 《剑指Offer》 反转链表
  9. 最佳的MongoDB客户端管理工具
  10. Linux-定时任务(Crontab)基本用法
  11. web表格在css中属性,CSS属性之表格(Table)_html/css_WEB-ITnose
  12. linux删除编译中间件,关于linux 里安装编译环境和中间件
  13. Matlab中fsolve传递系数变量
  14. docker安装vim命令
  15. 树的叶子结点与完全二叉树结点计算方法
  16. ONNX: export failure: Exporting the operator silu to ONNX opset version 12 is not suppo
  17. Ubuntu18.04-ROS-Python-通过周立功Can发送16进制整数
  18. dns辅服务器修复后还不能上网,dns修复后还是不能上网如何解决
  19. IONIC Error“EPERM: operation not permitted, rename 'C:\Users\tad\.config\configstore\cordova-config”
  20. 帕累托分析(贡献度分析) → 帕累托法则:20/80定律

热门文章

  1. android 测试 大赛,轻量级android应用自动测试工具-2017全国大学生软件测试大赛.pdf...
  2. service调用的存储过程里显式commit,而导致事务不能rollback
  3. rs 实用工具 (rs.exe) (SSRS)SQL server report service
  4. PHP的工作原理和生命周期
  5. SQL语句来查询今天、昨天、7天内、30天的数据,经典!
  6. SpringBoot Cache操作
  7. 第13次预习课-20180919 多进程编程
  8. 5-4 是否同一棵二叉搜索树 (25分)
  9. 代码库之----图片预览
  10. [转]JS调用Android里面的方法,Android调用JS里面的方法