博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【虚拟化实战】存储设计之七Block Size
阅读量:5930 次
发布时间:2019-06-19

本文共 1303 字,大约阅读时间需要 4 分钟。

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

我们介绍Latency过高的原因和一些建议。本文重点分析Block Size对性能特别是latency的影响。

什么是Block Size

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

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

上图摘自博客vmpete.com

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

Throughput的影响:

Throught =  IOPsx  Block size

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

时延Latency的影响

 

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

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

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

利用IO BlockSize真实案例:

案例一:

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

案例二:

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

案例三:

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

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

Reference:

转载地址:http://cyktx.baihongyu.com/

你可能感兴趣的文章
[译] 为什么 HTML 中复选框样式难写 — 本文给你答案
查看>>
环境配置01-win10+Cenos双系统安装过程记录
查看>>
请教nodejs中promise、setTimeout、setImmediate在eventloop中的执行时机问题
查看>>
从零开始,如何打造出一个好的运营团队
查看>>
python学习干货教程(2):环境变量配置
查看>>
LeetCode每日一题: 种花问题(No.605)
查看>>
【综述】各类人工智能&大数据相关比赛
查看>>
JavaScript对象浅析
查看>>
TEST
查看>>
微信分享音乐给好友时会话列表无法快捷播放问题填坑记录
查看>>
一些jQuery小知识点(笔记)
查看>>
前端工程化篇之 gulp 一文让您轻松掌握gulp 【全套gulp源码注释解析】
查看>>
移动端 IOS的两个小坑
查看>>
[译] 职业成长的内部指南
查看>>
Git无法使用
查看>>
sql更新是如何执行的?
查看>>
图片上传及图片处理
查看>>
Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践
查看>>
linux基础之逻辑卷管理
查看>>
JDK常用的命令行工具
查看>>