海思板卡SATA最佳读写块大小测试
1 引言
应需求,在海思板子上测试SATA读写速度,用dd指令,每次分别读/写不同大小的块 (bs),同时检测运行dd命令CPU占比,记录读/写速度和CPU占比。
2 实验过程2.1 用dd指令对SATA分区进行多次文件写入,写入总大小分别为320M, 640M, 1280M, 2560M,单次写入块大小分别为512B, 1K, 2K, 4K, 8k, 16K, 32K, 64K, 128K, 256K, 512K, 1024K, 2M, 4M, 8M, 16M, 32M,每个块大小写入测试n (n=3)次;
2.2 在写入过程中计算得到该进程占用CPU百分比的平均值,写入结束后记录此次写入平均速度;
2.3 将实验结果画常州蜘蛛资讯网图展示;
2.4 将文件写入改为分区读出,重复2.1和2.2过程,得到读出文件速度和CPU占比,画图展示。
3 实验结果3.1 文件写入
图1-4分别为对SATA分区1(sda1)进行文件写入得到的相关数据:
图 1 图 2 图 3 图 4结合写入速度和CPU占比,为获得最佳写入块大小,取最大写入速度和较低的CPU占比的共同点。由图1-4可以分别看出,符合条件的块大小分别为32K,16K,32K,16K。
3.2 文件读出
图5-8分别为温州蜘蛛资讯网对SATA分区1(sda1)进行文件读出得到的相关数据:
图 5 图 6 图 7 图 8结合读出速度和CPU占比,为获得最佳读出块大小,取最大读出速度和较低的CPU占比的共同点。由图1-4可以分别看出,符合条件的块大小分别为64K,16K,64K,16K。
附加实验:测试320M, 640M, 1280M, 2560M下以16K和64K为读取块大小的读出速度和CPU占比,结果如下表所示:
表 1 读取块为16K与64K的速度和CPU占比
16K
64K
Speed
(Mb/s)
320M
63.46
62.09
320M
58.12
驻马店蜘蛛资讯网62.81
640M
74.07
75.56
640M
73.41
71.57
1280M
79.84
79.28
1280M
80.62
78.55
2560M
87.77
84.12
2560M
83.87
84.20
平均
75.77
平均
74.14
CPU
(%)
320M
29
29
320M
18
27
640M
27
26
640M
26
34
1280M
33
33
1280M
36
31
2560M
40
37
2560M
38
36
平均
32
平均
31
由上表格中16K和64K对应的读取速度和CPU占比平均值对比可看出,在CPU占比相差较小的情况下,较大读取速度的文件读块大小为16K。
宜都蜘蛛资讯网 4 实验结论由3.1得出,比较理想的单次写入块大小为16K和32K,但根据图1中16K的写入速度低于32K的写入速度约20Mb/s,因此最佳的单次写入块大小为16K,其次为32K。
由3.2中的实验结果可知16K和64K的读取速度均较佳,结合附加实验结果可得出,最佳的单次读取块大小为16K,其次为64K。
结合已上两个实验结论,针对该海思板卡的SATA读写,以16K作为单次块读写可获得较快的速度且较低的CPU占比。
shell笔记
01.shell当中#!/bin/sh后面跟-x可以逐步显示出执行过程和结果,便于调试。
02.
while read line;do eval done < $conffile
使用类似如上导入文件的方法后,部分指令的&后台运行功能失效。原因未知。
03.像dd等指令直接重定向 ">"到文件中不会将显示在屏幕上的内容写入文件,应写 "2>"将"2"也就是标准错误定向到文件。
04. sed的用法安顺蜘蛛资讯网之找到匹配的行,并删除或者整行替换:
#方法一: line=`sed -i "/$str/=" $filename` sed -i sed -i done #方法二: #匹配到xxxx的行整行替换为str,几乎是万能的行替换,同样适用于匹配的字符串不是行首的情况。 sed -i
方法二的效率明显高兴安盟蜘蛛资讯网于一。
当前文章:
发布时间:2017-11-21 07:46:33