软件性能—-计算机基础知识

一、内存/硬盘的存储速度对比

1,内存:

内存卡的读写速度是不同的,卡上有个C字母,代表class(等级),10级最快,4级最慢。

1)目前TF卡等都采用CLASS*(C*或者一个圈中间一个数字)的方式标注读写速度,其中数据就代表最低写入速度。

比如,C4代表最低写入4M,目前TF卡上比较常见的主要是C2,C4,C6,C10的速度。

2)闪存卡(内存卡)的class有class2(2M/s),class4(4M/s),class6(6M/s),

clss10(10M/s),目前最主要是后三种。

2,硬盘--固态硬盘(SSD)和机械硬盘(HDD)

1)机械硬盘:

 传统普通硬盘,主要由盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。

磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。信息通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息可以通过相反的方式读取。

硬盘作为精密设备,尘埃是大敌,因为进入硬盘的空气必须过滤。

机械硬盘的读写速度大约在60--80M/s。

2)固态硬盘:

固态驱动器(solid state disk/drive),俗称固态硬盘,是由固态电子存储芯片阵列制成的硬盘。

固态硬盘的存储介质分为两种:闪存(flash芯片)作为存储介质,DRAM作为存储介质,最新的还有英特尔的XPoint颗粒技术。

固态硬盘的读写速度大约在300M/s。

内存读写速度是硬盘的多少倍呢/h3>

 

硬盘类型 内存规格 DDR3:10G/ss(10000M/s) DDR4:50G/s(50000M/s)
机械硬盘 100M/s 内存的百分之一 内存的五百分之一
固态硬盘 300M/s

内存的三十分之一

内存的二百分之一

二、IO性能指标

实现磁盘I/O性能监控的指标主要如下:

1,每秒I/O(IOPS或TPS):

对于磁盘来说,一次磁盘的连续读或者连续写称为一次磁盘I/O,磁盘的I/OPS就是每秒磁盘连续读次数和连续写次数之和。

当传输小块不连续数据时,该指标有重要参考意义。

2,吞吐量throughtput:

指硬盘传输数据流的速度,传输数据为读出速度和写入速度的和,单位一般为Kbps,MB /s。

3,平均I/O数据尺寸,平均I/O

4,磁盘活动时间百分比Utilization:

磁盘处于活动时间的百分比,即磁盘利用率,磁盘在数据传输和处理命令处于活动状态。

磁盘利用率与资源争用程度成正比,与性能成反比。

也就是,磁盘利用率越高,资源争用就越严重,性能也就越差,响应时间越长。一般来说,磁盘利用率超过70%,应用进程将花费较长的时间等待I/O完成,因为绝大多数进程在等待过程中将被阻塞或休眠。

5,服务时间service time:

指磁盘读或者写操作执行的时间。包括寻道,旋转时延和数据传输等时间。其大小一般和磁盘性能有关,CPU、内存的负荷也会对其有影响,请求过多也会间接导致服务时间的增加。

6,I/O等待队列长度Queue length

指待处理的I/O请求的数目,如果I/O请求压力持续超出磁盘处理能力,该值将增加。如果单块磁盘的队列长度持续超过2,一般认为该磁盘存在I/O性能问题。

7,等待时间wait time:

指磁盘读或者写操作等待执行的时间,即在队列中排队的时间。

如果I/O请求持续超出磁盘处理能力,意味着来不及处理的I/O请求不得不在队列中等待较长时间。通过监控以上指标,并将这些指标数值与历史数据,经验数据以及磁盘标称值对比,必要时结合CPU,内存,交换粪污的使用情况,不难发现磁盘I/O潜在或已经出现的问题。

三、提升I/O性能指标

在linux下面挂载文件系统的时候设置noatime可以显著提高文件系统的性能。

默认情况下,linux ext2/ext3文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如,文件创建时间,最近一次修改时间和最近一次访问时间。因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将会显著提高磁盘I/O的效率,提升文件系统的性能。

linux提供了noatime这个参数来禁止记录最近一次访问时间戳。

除了以上方法外,为了提升IO性能,可以采用各种存储技术,在这些存储技术中心使用最广的就是高速缓存(cache)和磁盘冗余阵列(RAID)了。

高速缓存

在当下的各种存储产品中,按照速度从快到慢应该就是内存>闪存>磁盘>磁带了,然而速度越快也就意味着价格越高,闪存苏日安说发展势头很好,磁盘的速度无疑是极端及系统中最大的瓶颈了,所以在必须使用磁盘而又想提高性能的情况下,人们相处了在磁盘中嵌入一块高速的内存用来保存经常访问的数据从而提高读写效率的方法来折中的解决,这块嵌入的内存就被称为高速缓存。

与IO性能直接相关的缓存分别是文件系统缓存(file system cache),磁盘控制器缓存(disk controller cache)和磁盘缓存(disk cahce也称为disk buffer)。不过当在计算一个磁盘系统性能的时候文件系统缓存也是不会考虑在内的,我们重点考察的就是磁盘控制器缓存和磁盘缓存。

redis就是高速缓存的一个应用。

redis

 

 

 

 

 

 

 

 

 

 

 

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月13日
下一篇 2020年10月13日

相关推荐