集群瓶颈:磁盘IO必读

首先需要知道
什么是IO: IO是输入输出接口
阅读本文章可以带着下面问题
1.集群的瓶颈为什么IO?
2.你对IO了解多少?

这里面只说个人观点:
当我们面临集群作战的时候,我们所希望的是即读即得。可是面对大数据,读取数据需要经过IO,这里可以把IO理解为水的管道。管道越大越强,我们对于T级的数据读取就越快。所以IO的好坏,直接影响了集群对于数据的处理。

下面详细介绍IO

    • 读/写IO
      磁盘控制器向磁盘发出一次读/写指令,给出开始扇区的地址和向后连续读/写的扇区的个数。读/写IO是一次IO,操作的扇区编号必须是连续的,如过上层文件系统的IO请求是多个不连续的扇区,将会被磁盘控制器拆分成多个读/写IO来执行。(层次模型是理解一个系统最重要的思想,层次模型从底层到高层是一个化繁为简的过程,低层模块把复杂封装,向上层提供简易的使用接口;从高层到底层是一个逐层细分,逐层细化的过程。各层之间逻辑内聚,通过协议通讯降低耦合。文件系统层的一次IO会被磁盘存储层拆分成多次IO执行,不同层次之间的一次IO概念是不同的。)
    • 大/小块IO
      小块IO:指一次读/写IO操作的连续扇区数目较小;
      大块IO: 指一次读/写IO操作的连续扇区数目较大;
      大块和小块并没有明确区分。
    • 连续随机IO
      连续IO:指两次不同的读/写IO,前一次的结束地址与后一次的起始地址相差不大;
      随机IO: 指两次不同的读/写IO,前一次的结束地址与后一次的起始地址相差很大;
    • 顺序/并发IO
      顺序IO:指磁盘控制器必须在一次IO指令完成后才能进行下一个IO指令,指令的执行是顺序的,同步的。对于单磁盘的存储系统,所用的IO都是顺序IO;
      并发IO:并发IO是针对多磁盘的存储系统而言的, 指磁盘控制器在发出一次IO指令后,检查下一个IO指令,如果不是操作的磁盘不是正在进行的磁盘,就可以进行下一个IO指令,指令的执行是顺序的,异步的。
    • 持续/间断IO
    • 稳定/突发IO
    • 实/虚IO
      实IO:IO请求中包含对应实际数据的地址,读/写了扇区的数据;
      虚IO:非实体数据的IO请求,只是请求一些状态信息,元数据等;
    • IO并发几率
      书上的描述:单盘,IO并发几率为0,因为一块磁盘同时只可以进行一次IO。对于raid0,2块盘情况下,条带深度比较大的时候(条带太小不能并发IO,下面会讲到),并发2个IO的几率为1/2。其他情况请自行运算。
      个人理解:磁盘的IO并发是指磁盘控制器处理IO请求时是否能并发的执行,而不需要等待上一个IO请求执行结束再执行下一个IO请求。单盘的存储系统肯定是不能并发处理IO的,多盘存储系统在IO请求只占用了部分磁盘的时候能并发的处理IO请求。至于并发几率是怎么算的还没搞明白。
    • IOPS
      设t=磁盘控制器完成一次IO所需要的时间。则t=寻道时间+旋转延迟+数据传输时间;IOPS=IO并发系数/t. (IO并发系数暂时还没有找到解释,用the concurrent coefficient of IO去google也没找到…)
    • 每秒IO吞吐量
      每秒处理IO的大小,等于IOPS*平均IOSIZE。而IOSIZE的大小与磁头的读写速度有关。
时间: 2024-10-13 01:11:53

集群瓶颈:磁盘IO必读的相关文章

VMware Workstation 集群仲裁磁盘和数据共享磁盘的创建

最近项目需要对SQL Server建立集群服务,多个SQL Server数据库建立集群服务,对外提供唯一的URL访问地址.当主节点断电.断网后,通过心跳线将消息传递到备用节点,备用节点在3秒内接管数据库访问任务,实现双机热备. 由于台式机过2天才能到位,所以就先在虚拟机上装了2套windows Server 2008 R2系统,模拟集群创建过程.关于SQL Server建立集群的文章,网上是众说纷纭,对于一个新手来说,可谓是不知所措.但集群中仲裁磁盘和共享磁盘的创建是每个集群所必须的,在此我把虚

【转】Hadoop集群添加磁盘步骤

转自:http://blog.csdn.net/huyuxiang999/article/details/17691405 一.实验环境 : 1.硬件:3台DELL服务器,CPU:2.27GHz*16,内存:16GB,一台为master,另外2台为slave. 2.系统:均为CentOS6.3 3.Hadoop版本:CDH4.5,选用的mapreduce版本不是yarn,而是mapreduce1,整个集群在cloudera manager的监控下,配置时也是通过manager来配置(通过更改配置

RAID 磁盘矩阵 与服务器集群

RAID 磁盘矩阵 磁盘阵列:(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意. 磁盘阵列:是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能.利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上. 磁盘阵列:还能利用同位检查(Parity Check)的观念,在磁盘矩阵中任意一个磁盘发生故障时,仍可读出数据,在数据重构时,将数据经计算后重新

【mysql】高可用集群之MMM

一.复制的常用拓扑结构 复制的体系结构有以下一些基本原则: (1)    每个slave只能有一个master: (2)    每个slave只能有一个唯一的服务器ID: (3)    每个master可以有很多slave: (4)    如果你设置log_slave_updates,slave可以是其它slave的master,从而扩散master的更新. MySQL不支持多主服务器复制(Multimaster Replication)——即一个slave可以有多个master.但是,通过一些

网格计算, 云计算, 集群计算, 分布式计算, 超级计算

网格计算, 云计算, 集群计算, 分布式计算, 超级计算 整体来说都有将任务分割.运算.组合,只是协同和处理的重点不同: 超级计算强调的是高并行计算能力,应用设备多是超级计算机如天河一号,是infiniband的高并行处理架构,实现总线级协同,一般采用计算能力更强的GPU而非CPU:集群计算和分布式计算是相对于设备部署结构来说,这种计算相对超算来说,对于计算的并行处理及响应要求较低,需要实现的是网络环境下的协同,实现的效果受网络环境影响.网格计算是集群计算和分布式计算与超级计算中间的产物,是在原

[转载] 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解

原文:  http://mp.weixin.qq.com/s?__biz=MzAwNzU3NzQ0MA==&mid=209298809&idx=1&sn=70f93b7d71fa7ac9caf3c737fb20a2ad&scene=1&key=c76941211a49ab58a5fed01be2b1651eadbc89e3a9495b276185efdb2282d0fdd5b3aca4129a665495d1b65b77a9a848&ascene=0&

如何利用容器实现生产级别的redis sharding集群的一键交付

作者介绍: 张春源 希云cSphere合伙人,国内早期的Docker布道者,对企业应用Docker化有丰富的实践经验,擅长利用Docker践行Devops文化.国内第一套Docker系列实战视频课程讲师,视频播放量累计10万+ 开篇: Redis在3.0之后开始支持sharding集群.Redis集群可以让数据自动在多个节点上分布.如何使用Docker实现Redis集群的一键部署交付,是一个有趣的并且有价值的话题. 本文将给大家介绍基于进程的容器技术实现Redis sharding集群的一键部署

ceph集群常用命令

结合网络.官网.手动查询等多方渠道,整理ceph维护管理常用命令,并且梳理常规命令在使用过程中的逻辑顺序.另外整理期间发现ceph 集群的命令体系有点乱,详细情况各自体验. 一:ceph集群启动.重启.停止 1:ceph 命令的选项如下: 选项简写描述 --verbose-v详细的日志. --valgrindN/A(只适合开发者和质检人员)用 Valgrind 调试. --allhosts-a在 ceph.conf 里配置的所有主机上执行,否 则它只在本机执行. --restartN/A核心转储

Elasticsearch 学习笔记2 集群和数据

集群术语 - 节点: 一个elasticsearch实例(一个elasticsearch进程)就是一个节点 - 集群: 由一个或者多个elasticsearch节点组成 - 主节点: 临时管理集群级别变更:新建/删除索引,新建/移除节点,不参与文档级别变更或者搜索,当数据量增长时,不会成为集群瓶颈,集群只有一个主节点,通过各个节点选举产生 - 分片(shard):是最小级别工作单元,它只是保存了索引中所有数据的一部分 - 主分片:每个文档属于一个单独主分片,主分片数量可以在创建索引时指定,默认个