深聊性能测试,从入门到放弃之:如何对IO进行性能调优(二)

简介: 深聊性能测试,从入门到放弃之:如何对IO进行性能调优(二)

4、IO调整


4.1 磁盘速度改进

改进方式,主要分两种:

①磁盘快取监控(disk cache controller)

②磁盘列阵技术


4.1.1 磁盘快取监控(disk cache controller)

定义


将从磁盘读取的数据存在快取内存(cache memory)中,以减少磁盘存储的次数。

数据的读取都在快取内存中进行,大幅增加存取的速度。

如果要读取的数据不在快取内存中,或要写数据到磁盘时,才做磁盘的存取动作。


注意点

这种方式在单工环境(single-tasking environment),如DOS之下,对大量数据的存储有很好的性能,

但是在多工环境(multi - tasking environment)或数据库(database)的存取,就不能显示其性能。

并且,这种方式,没有任何安全保障。


多工环境:要不停的做数据交换的动作

数据库:因为每一次记录都很小


4.1.2 磁盘列阵技术

定义


磁盘列阵是把多个磁盘组成一个阵列,当作单一磁盘使用,它将数据以分段(striping)的方式存储在不同的磁盘中,存取数据时,列阵中的相关磁盘一起动作,大幅降低数据的存取时间,同时有更佳的空间利用率。

磁盘阵列所利用的不同的技术,称为RAID Level,不同的Level针对不同的系统及应用,以解决数据安全的问题。


RAID Level 等级分类


1. RAID 0


①定义

将数据条带化(striping),将连续的数据分散到多个磁盘上进行存取,系统发出的IO命令(不管读/写)就可以在磁盘上被并行执行。

由于每个磁盘单独执行自己的那部分请求,故,这大大增强整个存储的系统的性能。


②图解

image.png


优点:

速度快,容量大


缺点:

无备份,安全差


③举例

一个RAID0列阵有n(≥2)个磁盘,每个磁盘的随机读写的IO能力达到100,

那么,整个磁盘阵列的IO能力就是 :100 * n。

如果传输能力允许,RAID0的吞吐率也是单个磁盘的 n倍。


2. RAID 1


①定义

在容量上, 相当于把两个磁盘合起来一起使用。

互为镜像的两个磁盘里面保存的数据时完全一样的,

因此,在并行读取的速度上将是n个磁盘速度之和,

但是,在写入的速度,就慢的多,因为要同时写入两个磁盘,故,速度就是 n/2。


②图解


image.png

优点:

有备份,安全高


缺点:

写入慢


3. RAID 3


①图解

image.png


优点:

速度快,安全高,奇偶校验,一盘故障数据可重建


适用于:视频网站


缺点:

二盘同时故障,数据全部丢失

小数据读写不适用,随机读慢


4. RAID 3 + Spare


①图解

image.png


②解析


Spare:(磁盘数 - 2)*单盘容量


热备盘:备份故障盘上的内容


5. RAID 5


①定义


RAID5支持并行IO,而磁盘上的数据呈现条带状的分布在所有的磁盘上,

因此读IO的速度相当于所有磁盘速度之和;


前提条件:磁盘没有损坏


写入速度,是所有磁盘速度总和的 1/4;

所以RAID5是不适合用在大批量写入数据的系统上。


以下几种情况,建议采用RAID5:


要求较高的空间利用率;

安全性要求不高;

大文件存储系统.


②图解

image.png


③解析


是RAID3的加强版


Spare:(磁盘数 - 1)*单盘容量


热备盘:备份故障盘上的内容


6. RAID 6


①定义


RAID6与RAID5 很类似,差别在于RAID6比RAID5多了一个用于校验的磁盘。

读取IO速度,RAID6 和RAID5 是完全一样。

写入速度,区别RAID6将一个命令分成三次读、三次写,即6次IO命令来完成。


RAID6实际写入磁盘的速度是全部磁盘的1/6


②图解


image.png

③解析


Spare:(磁盘数 - 2)*单盘容量


7. RAID 10


①定义


先镜像后条带,称为RAID10;

先条带后镜像,称为RAID01。


不管是 RAID10还是RAID01,都是组合大于2块磁盘时候的RAID1。


从性能上看, RAID10和RAID01都是一样的,都是RAID1。

区别:


RAID10在重建故障磁盘的时候,性能比RAID01要快,安全性要高,不计成本


小数据量频繁写入的系统,推荐采用RAID10。


②图解


image.png

③解析


Spare:(磁盘数 *单盘容量)/2

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
4天前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
21 2
|
5月前
|
消息中间件 Java 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
深聊性能测试,从入门到放弃之:Locust性能自动化(一)初识Locust
138 1
|
5月前
|
存储 关系型数据库 MySQL
深聊性能测试,从入门到放弃之:性能测试技术栈,看完这篇,保证刷新你对性能测试的认知~~
深聊性能测试,从入门到放弃之:性能测试技术栈,看完这篇,保证刷新你对性能测试的认知~~
132 1
|
5月前
|
JSON 测试技术 API
深聊性能测试,从入门到放弃之:Locust性能自动化(五)API汇总整理(下)
深聊性能测试,从入门到放弃之:Locust性能自动化(五)API汇总整理(下)
64 0
|
5月前
|
数据采集 算法 测试技术
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
深聊性能测试,从入门到放弃之:Locust性能自动化(二)代码实战
128 1
|
5月前
|
存储 监控 安全
深聊性能测试,从入门到放弃之:如何对IO进行性能调优
深聊性能测试,从入门到放弃之:如何对IO进行性能调优
180 0
|
5月前
|
关系型数据库 MySQL Java
【JMeter】(3)---MySQL压测
【JMeter】(3)---MySQL压测
90 0
|
5月前
|
JSON Java 测试技术
【JMeter】(2)---HTTP压测
【JMeter】(2)---HTTP压测
84 0
|
5月前
|
XML 前端开发 测试技术
使用 jMeter 对 SAP Spartacus 进行并发性能测试
使用 jMeter 对 SAP Spartacus 进行并发性能测试
62 0
|
24天前
|
测试技术 UED
PTS压测问题之资源准备好慢如何解决
PTS(Performance Testing Service)是一项面向网站、应用等提供的压力测试服务,用于模拟不同场景下的用户访问,评估系统的性能表现;在进行PTS压测时,可能会出现一些异常或报错,本合集将PTS压测中频繁出现的问题及其解决办法进行汇编,旨在帮助用户更有效地进行性能测试和问题定位。
57 1

热门文章

最新文章