【虚拟化实战】存储设计之七Block Size

简介:

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

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

什么是Block Size

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

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

wKioL1cEoGij2HlnAAARPhsetI8687.png


上图摘自博客vmpete.com

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

Throughput的影响:

Throught =  IOPsx  Block size

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

时延Latency的影响

wKioL1cEoHDCU82RAAHmy2oQJRU395.png

 

上图摘自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:

Viewing the impact of block sizes with PernixData Architect

Limit a VM from an IOps perspective


















本文转自frankfan751CTO博客,原文链接:http://blog.51cto.com/frankfan/1760848 ,如需转载请自行联系原作者


相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
存储 数据管理 云计算
云计算——存储虚拟化功能
云计算——存储虚拟化功能
362 0
|
存储 数据管理 虚拟化
云计算——存储虚拟化简介 与 存储模式及方法
云计算——存储虚拟化简介 与 存储模式及方法
756 0
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之一:虚拟化简介
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。
|
10月前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
568 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
存储 缓存 负载均衡
存储技术的趋势:存储虚拟化和绿色存储技术
存储技术的趋势:存储虚拟化和绿色存储技术
|
存储 缓存 固态存储
云计算基础-存储虚拟化(深信服aSAN分布式存储)
每秒钟的IOPS数,该指标主要用于评价小块IO性能,体现存储系统的IO延时能力和并发能力。业界一般默认IOPS指的是4K块大小的IO性能,该值越大说明性能越好。
421 1
|
存储 API 云计算
云计算存储虚拟化技术-openstack-cinder
云计算存储虚拟化技术-openstack-cinder
249 0
|
NoSQL Ubuntu Linux
掌握QEMU虚拟化技术:搭建ARM64+Linux调试环境实战指南
掌握QEMU虚拟化技术:搭建ARM64+Linux调试环境实战指南
|
存储 KVM 文件存储
【KVM虚拟化】· 存储池、存储卷
【KVM虚拟化】· 存储池、存储卷
1066 0
|
存储 安全 网络协议
虚拟化服务(服务器虚拟化、存储虚拟化)|学习笔记
快速学习虚拟化服务(服务器虚拟化、存储虚拟化)
1753 0
虚拟化服务(服务器虚拟化、存储虚拟化)|学习笔记

相关课程

更多