前言
关于本章内容,设计的东西比较多。这里会有关于文件系统、磁盘、CPU等方面的知识,以及涉及到关于这方面的性能排查等。
术语
文件系统通过缓存和缓冲以及异步I/O等手段来缓和磁盘的延时对应用程序的影响。为了更详细的了解文件系统,以下就简单介绍一些
文件系统相关术语:
文件系统:一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问。另外,一些表示设备、套接字和管道的特殊文件类型,以及包含文件访问时间戳的元数据。
文件系统缓存:主存(通常是DRAM) 的一块区域,用来缓存文件系统的内容,可能包含各种数据和元数据。
操作:文件系统的操作是对文件系统的请求,包括读、写、打开、关闭、创建以及其他操作。
I/O:输入/输出。文件系统I/O有多种定义,这里仅指直接读写(执行I/O)的操作,包括读、写、状态统计、创建。I/O不包括打开文件和关闭文件。
逻辑I/O:由应用程序发给文件系统的I/O。
物理I/O:由文件系统直接发给磁盘的I/O。
吞吐量:当前应用程序和文件系统之间的数据传输率,单位是B/S。
inode:一个索引节点时一种含有文件系统对象元数据的数据结构,其中有访问权限、时间戳以及数据指针。
VFS:虚拟文件系统,一个为了抽象与支持不同文件系统类型的内核接口。
【文章福利】小编推荐自己的Linux内核技术交流群: 【977878001】整理一些个人觉得比较好得学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!!!前100进群领取,额外赠送一份 价值699的内核资料包(含视频教程、电子书、实战项目及代码)
内核资料直通车:Linux内核源码技术学习路线+视频教程代码资料
学习直通车:Linux内核源码/内存调优/文件系统/进程管理/设备驱动/网络协议栈
磁盘相关术语:
存储设备的模拟。在系统看来,这是一块物理磁盘,但是,它可能由多块磁盘组成。
传输总线:用来通信的物理总线,包括数据传输以及其他磁盘命令。
扇区:磁盘上的一个存储块,通常是512B的大小。
I/O:对于磁盘,严格地说仅仅指读、写,而不包括其他磁盘命令。I/O至少由方向(读或写)、磁盘地址(位置)和大小(字节数)组成。
磁盘命令:除了读写之外,磁盘还会被指派执行其他非数据传输的命令(例如缓存写回)。
带宽:存储传输或者控制器能够达到的最大数据传输速率。
I/O延时:一个I/O操作的执行时间,这个词在操作系统领域广泛使用,早已超出了设备层。
相关概念
文件系统延时
文件系统延时是文件系统性能一项主要的指标,指的是一个文件系统逻辑请求从开始到结束的时间。它包括消耗在文件系统、内核磁盘I/O子系统以及等待磁盘设备——物理I/O的时间。应用程序的线程通常