IO
593082518
这个作者很懒,什么都没留下…
展开
-
IO的分层
IO性能对于一个系统的影响是至关重要的。一个系统经过多项优化以后,瓶颈往往落在数据库;而数据库经过多种优化以后,瓶颈最终会落到IO。而IO性能的发展,明显落后于CPU的发展。Memchached也好,NoSql也好,这些流行技术的背后都在直接或者间接地回避IO瓶颈,从而提高系统性能。 IO系统的分层: 三层结构上图层次比较多,但总的就是三部分。磁盘(存储)、VM(卷翻译 2016-12-02 14:22:24 · 292 阅读 · 0 评论 -
IO模型
这部分的东西在网络编程经常能看到,不过在所有IO处理中都是类似的。IO请求的两个阶段: 等待资源阶段:IO请求一般需要请求特殊的资源(如磁盘、RAM、文件),当资源被上一个使用者使用没有被释放时,IO请求就会被阻塞,直到能够使用这个资源。 使用资源阶段:真正进行数据接收和发生。 举例说就是排队和服务。 在等待数据阶段,IO分为阻塞IO和非阻塞转载 2016-12-02 14:22:59 · 180 阅读 · 0 评论 -
IO性能的重要指标
最重要的三个指标 IOPSIOPS,即每秒钟处理的IO请求数量。IOPS是随机访问类型业务(OLTP类)很重要的一个参考指标。 一块物理硬盘能提供多少IOPS?从磁盘上进行数据读取时,比较重要的几个时间是:寻址时间(找到数据块的起始位置),旋转时间(等待磁盘旋转到数据块的起始位置),传输时间(读取数据的时间和返回的时间)。其中寻址时间是固定的(磁头定位到数据的存储转载 2016-12-02 14:23:35 · 815 阅读 · 0 评论 -
文件系统
文件系统各有不同,其最主要的目标就是解决磁盘空间的管理问题,同时提供高效性、安全性。如果在分布式环境下,则有相应的分布式文件系统。Linux上有ext系列,Windows上有Fat和NTFS。如图为一个linux下文件系统的结构。 其中VFS(Virtual File System)是Linux Kernel文件系统的一个模块,简单看就是一个Adapter,对下屏蔽了下层不同文件系统之间的转载 2016-12-02 14:24:17 · 245 阅读 · 0 评论 -
逻辑卷管理
LVM(逻辑卷管理),位于操作系统和硬盘之间,LVM屏蔽了底层硬盘带来的复杂性。最简单的,LVM使得N块硬盘在OS看来成为一块硬盘,大大提高了系统可用性。 LVM的引入,使得文件系统和底层磁盘之间的关系变得更为灵活,而且更方便关系。LVM有以下特点: 统一进行磁盘管理。按需分配空间,提供动态扩展。条带化(Striped)镜像(mirrored)快照(snapshot)转载 2016-12-02 14:24:58 · 332 阅读 · 0 评论 -
Driver & IO Channel
这部分值得一说的是多路径问题。IO部分的高可用性在整个应用系统中可以说是最关键的,应用层可以坏掉一两台机器没有问题,但是如果IO不通了,整个系统都没法使用。如图为一个典型的SAN网络,从主机到磁盘,所有路径上都提供了冗余,以备发生通路中断的情况。 OS配置了2块光纤卡,分别连不同交换机SAN网络配置了2个交换机存储配置了2个Controller,分别连不同交换机转载 2016-12-02 14:25:37 · 317 阅读 · 0 评论 -
RAID
Raid很基础,但是在存储系统中占据非常重要的地位,所有涉及存储的书籍都会提到RAID。RAID通过磁盘冗余的方式提高了可用性和可高性,一方面增加了数据读写速度,另一方面增加了数据的安全性。 RAID 0 对数据进行条带化。使用两个磁盘交替存放连续数据。因此可以实现并发读写,但带来的问题是如果一个磁盘损坏,另外一个磁盘的数据将失去意义。RAID 0最少需要2块盘。转载 2016-12-02 14:26:10 · 346 阅读 · 0 评论 -
三分天下
DAS、SAN和NAS 为了满足人们不断扩大的需求,存储方案也是在发展的。而DAS、SAN、NAS直接反映这种反映了这种趋势。 单台主机。在这种情况下,存储作为主机的一个或多个磁盘存在,这样局限性也是很明显的。由于受限于主机空间,一个主机只能装一块到几块硬盘,而硬盘空间时受限的,当磁盘满了以后,你不得不为主机更换更大空间的硬盘。独立存储空间。为了解决空间的转载 2016-12-02 14:26:49 · 364 阅读 · 0 评论