首页 > 其他分享 >性能测试-磁盘知识

性能测试-磁盘知识

时间:2023-03-05 09:12:58浏览次数:31  
标签:缓存 测试 分区 知识 文件系统 io 磁盘 数据

1、磁盘-数据存储-两种磁盘

磁盘:持久化的存储设备-两种磁盘介绍
  • 机械磁盘: HDD,由盘片、磁头组成,数据存在盘片的环形磁道上,读写时,磁头移动定位到数据的磁道,进行数据读写
  • 固态磁盘: SSD,由固态电子元器件组成,不需要磁头寻址,所以,不管理连续io还是随机io,都比机械盘快。

2、磁盘-数据存储-文件-linux中,一切都是文件

  • 磁盘文件系统:ext4、xfs、nfs
  • 内存文件系统:基于内存的文件系统、proc/sys
  • 网络文件系统,用来访问其他计算机数据的文件系统,nfs、smb

3、磁盘-数据存储-基本概念

    • 扇区sector: 磁盘组成的最小单元(512b),磁盘磁道中一个弧段块
    • Block块:
操作系统与磁盘数据交换的最小单位
    ,块=2”x 扇区
    •  linux:类似Ext4文件系统,就是磁盘分块
    • windows: 类似NTFS文件系统,也是块,只是被叫做簇
  • 页page:操作系统与内存数据交换的最小单位
  • 缓冲区: buffer 内存与磁盘速度不匹配,在数据与磁盘进行IO时,数据先进入缓冲区;
  • 页缓存:Linux内存中对磁盘部分数据的副本,加快程序读取磁盘的速度和进程间数据共享

4、磁盘-磁盘分区

  • 磁盘分区:基本分区(primary partion)、扩展分区(extension partion)
    • 基本分区,不能再分区
    • 扩展分区,必须进行二次分区,才能使用。再分区就是逻辑分区
  • linux中IDE设备分区符为hd开头
    • hd=Hard Disk 表示硬盘是IDE(或ATA)并行接口
  • linux中SCSI设备分区符为sd 开头
    • sd=SerialATA Disk 表示硬盘是scsi,SATA串行接口,u盘也是scsi,所以u盘也是
    • sda vmware中把磁盘做成scsi设备,所以硬盘名称是sda
  • fdisk -l查看系统分区详细信息

5、 磁盘阵列RAID-大公司用

  • RAID0: 数据分片存在2块磁盘,读写速度提升2倍,但是,数据没有冗余,万一数据出错,很难恢复
  • RAID1:相同数据冗余存入2块磁盘,写速度不变,读速度提升2倍,数据有冗余,恢复数据很简单
  • RAID5:数据分片和校验码混合存储3份,读写速度提升2倍,数据没有冗余,但是有校验,数据恢复时,比较容易。
  • RAID10:2块磁盘1组先做RAID1,多组RAID1,再做RAID0。读写速度N倍 n为组数

6、磁盘-虚拟文件系统

  • 虚拟文件系统(Virtual File System,简称VFS)是Linux内核的子系统之一,它为用户程序提供文件和文件系统操作的统一接口,屏蔽不同文件系统的差异和操作细节。借助VFS可以直接使用open()、read()、write()这样的系统调用操作文件,而无须考虑具体的文件系统和实际的存储介质
  • 通过VFS系统,Linux提供了通用的系统调用,可以跨越不同文件系统和介质之间执行,极大简化了用户访问不同文件系统的过程。另一方面,新的文件系统、新类型的存储介质,可以无须编译的情况下,动态加载到Linux中

7、磁盘-文件I/O

文件操作:先open、再read()write()、最后close关闭文件
读写的不同,I/O不同:
  • 是否利用标准库缓存:缓存io和非缓存io
  • 是否利用页缓存: 直接io和 非直接io
    • 直接io:跳过操作系统的页缓存,直接与文件系统交互来访问文件
    • 非直接io:文件读写时,先给页缓存,再由内核调用,写入磁盘
  • 是否阻塞自身运行: 阻塞io和非阻塞io
    • 阻塞io:如果没有获得响应,就阻塞当前线程
    • 非阻塞io:不阻塞当前线程
  • 是否等待响应结果: 同步io 和异步io
    • 同步io:要一直等待整个io完成,才能获得io响应

    • 异步io: 不等待io完成,可以执行另外的

标签:缓存,测试,分区,知识,文件系统,io,磁盘,数据
From: https://www.cnblogs.com/shishibuwan/p/17179724.html

相关文章

  • Django源码-测试和调试环境搭建
    Django源码-测试和调试环境搭建一创建虚拟环境mkvirtualenv-ppython3.8.10DjangoSource二安装Djangopipinstalldjango==4.0b1三下载源码方法一gitclon......
  • NOI 2023 春季测试 游记
    开坑,待填。upd:寄了,不想填,但还是来填坑了。\(Day-1\)看板子,什么都不会。(悲)\(Day0\)睡了一天觉,晚上和学长们玩了各种游戏/se。\(Day1\)早上起来感觉隐隐约约肚......
  • 计算机基数知识(1)
    1.什么是编程语言?什么是语言?为何要用编程语言?答:编程语言本质就是一种语言;语言是人与人,人与物,物与物之间沟通的桥梁;因为计算机只能识别机器语言,即0和1,于是需要人用一种可以......
  • 春季测试 2023 幂次
    **F出原题\(3\lek\)时,\(a\le10^6\)可以暴力统计答案,对于重复的贡献可以用类似筛法的东西去维护,因为每个数只会被筛一次,所以是\(O(n)\)的,但是统计答案要带一个常数。......
  • 测试流程
    一、测试流程介绍流程的作用:让测试流程有条不紊的开展1、需求评审评审的前提:评审之前阅读需求,记录疑问点评审的目的:1、知道有什么功能,需求规......
  • 2023/3/4 NOI春季测试游记
    高中第一次参加正式比赛……挺紧张的,不过在家附近的连大比又没那么紧张其实(再说19年也比过)……Day-114514知道了NOIP要延期,感觉我这种小萌新也能去见识见识大场面了,......
  • 2023 NOI春季测试游记
    坐标:HE背景:因NOIP取消,所以变成了春季赛。\(Day\;0\)中午坐火车去火车站,坐了三个小时的车到了考点,路上是真的一点没卷……晚上到酒店,教练还请我们吃自助餐,虽然但是......
  • SpringBoot开发实用-测试
    ​ 测试。测试是保障程序正确性的唯一屏障,在企业级开发中更是不可缺少,但是由于测试代码往往不产生实际效益,所以一些小型公司并不是很关注,导致一些开发者从小型公司进入中......
  • java项目自动化单元测试
    对于我们开发人员来说,单元测试一定不会陌生,但在各种原因下会被忽视,尤其是在我接触到的项目中,提测阶段发现各种各样的问题,我觉得有必要聊一下单元测试。为了写而写的单元测......
  • 记一次不成功的渗透测试(未完待续)
    没发现什么功能点,vt找一下关系链找到一个类似于商城的东西,翻找了一下,发现一个购买接口http://shop.xxx.com/card/routes/shop.php?title=nvip365title存在sql注入,直接......