十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
假设我们有两个U盘,
创新互联建站专注于明溪企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。明溪网站建设公司,为明溪等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
通过下面的方式,可以看到两个U盘传输速度的差距,也可用于检查U盘真伪。
写测试会生成 test_write 文件,写测试的数据源 /dev/zero 是一个虚拟的不断产生零的linux设备,而非实际硬件。
读测试会将数据 test_write 读取,读测试的数据流向 /dev/null 是一个虚拟的可以接受任何数据的linux黑洞设备,而非实际硬件。
旧U盘拷贝2G多的文件,10分钟以上,进度条上稳定显示平均才7-9m/s,运行以上测试命令输出如下:
新U盘拷贝2G多的文件,不到1分钟,进度条上稳定显示平均为25m/s左右,运行以上测试命令输出如下:
C菜鸟助手成员tonytvb为你解答(如有疑问请hi我或向我的团队提问):
功能说明:显示与设定硬盘的参数。
语法:hdparm [-CfghiIqtTvyYZ][-a 快取分区][-A 0或1][-c ][-d 0或1][-k 0或1][-K 0或1][-m 分区数][-n 0或1][-p ][-P 分区数][-r 0或1][-S 时间][-u 0或1][-W 0或1][-X 传输模式][设备]
补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
测试各硬盘读取速度判断硬盘故障
在服务端命令窗口中执行如下命令
hdparm -t /dev/hda (IDE硬盘)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
hdparm -t /dev/md0 (软RAID设备)
测试结果在空载情况下应 40M/s ,在负载情况下平均应 20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。
参数:
-a快取分区 设定读取文件时,预先存入块区的分区数,若不加上快取分区选项,则显示目前的设定。
-A0或1 启动或关闭读取文件时的快取功能。
-c 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d0或1 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k0或1 重设硬盘时,保留-dmu参数的设定。
-K0或1 重设硬盘时,保留-APSWXZ参数的设定。
-m磁区数 设定硬盘多重分区存取的分区数。
-n0或1 忽略硬盘写入时所发生的错误。
-p 设定硬盘的PIO模式。
-P磁区数 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r0或1 设定硬盘的读写模式。
-S时间 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 平谷硬盘快取的读取效率。
-u0或1 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W0或1 设定硬盘的写入快取。
-X传输模式 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。
测试windows的命令:winsat disk -drive 盘符,其中D盘是机械硬盘,C盘是SSD;从截图中可以看出机械硬盘顺序读的速度是随机读的10倍,SSD的顺序读速度接近随机读的3倍
、
Linux下测试磁盘的读写IO速度 ,使用hdparm命令,下面是测试方法:
# hdparm -Tt /dev/sda
/dev/sda:
Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/sec
Timing buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec
#可以看到,2秒钟读取了6676MB的缓存,约合3340.18 MB/sec;
#在3.11秒中读取了218MB磁盘(物理读),读取速度约合70.11 MB/sec;
PC机做RAID, 一般都是软RAID (慢), 而且做的RAID 1 (会更慢)
使用dd命令来测量吞吐率(写速度)
dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
使用dd命令测量延迟
dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
dd if=/dev/zero of=/testw.dbf bs=4k count=100000
然后根据输出就可以看到你的硬盘读写能力了