1 - 硬盘概述

硬盘使用情况概述

1.1 - 硬盘速度

硬盘速度情况

背景

在这个网站可以查询到各个硬盘型号的数据,其中就包含硬盘寿命/速度等信息。

https://www.techpowerup.com/ssd-specs/

类似的网站还有:

现有硬盘列表

这是目前已有的部分硬盘:

型号 接口规格 顺序读取
(MB/S)
顺序写入
(MB/S)
寿命
(TBW)
缓存大小
(GB)
缓外速度
(MB/S)
随机读取
(1000 IOPS)
随机写入
(1000 IOPS)
爱国者p7000z 4t M2 2280
pcie4.0 x 4
7450 6500 8000 1800+ 860 69
隐速4TN7000 4t M2 2280
pcie4.0 x 4
7450 6500 9000
Kioxia CD6 3.84T U2
pcie4.0 x 4
6200 2350 7008 2350 1000 60
三星 PM983a 900G M2 22110
pcie3.0 x 4
3100 1200 1366 1200 400 38
三星 PM983 960G M2 22110
pcie3.0 x 4
3000 1200 1366 1200 400 38
三星 PM963 960G M2 22110
pcie3.0 x 4
1800 930 1366 930 350 30
三星 PM953 960G M2 22110
pcie3.0 x 4
1000 870 870 240 19

pcie3.0 硬盘参考

考虑到还有部分x99机器在使用中,他们只有pcie3.0,但是通道足够多。因此调研了一下pcie3.0 下缓外写入速度比较快的ssd硬盘,发现如下型号不错:

型号 接口规格 顺序读取
(MB/S)
顺序写入
(MB/S)
寿命
(TBW)
缓存大小
(GB)
缓外速度
(MB/S)
随机读取
(10000 IOPS)
随机写入
(10000 IOPS)
海力士 PE9010 3.84T M2 22110
pcie3.0 x 4
3500 2100 1000 800 83
三星 PM1725A 3.2g pcie3.0 x 4 3500 2800 3000 800 180
三星 PM1725A 1.6g pcie3.0 x 8 5400 2000

2 - 硬盘相关的软件

硬盘相关的软件

2.1 - CrystalDiskMark

适用于 windows 的硬盘速度测试软件

参考资料

2.2 - AmorphousDiskMark

适用于macOS的硬盘速度测试软件

下载地址

通过 apple store 下载安装:

https://apps.apple.com/us/app/amorphousdiskmark/id1168254295?mt=12

介绍

以 MB/s 和 IOPS 为单位衡量存储读/写性能。

AmorphousDiskMark 以 MB/s 和 IOPS 为单位测量存储读/写性能。

  • 顺序 1 MiB 块读/写测量,队列深度=1、2、4、8、16、32、64、128、256、512 或 1024

  • 随机序列 4 KiB 块读/写测量,队列

  • 深度=1、2、4、8、16、32、64、128、256、512 或 1024

  • 顺序 1 MiB 块读/写测量

  • 随机序列 4 KiB 块读/写测量值

  • 主窗口中的读/写 MB/s 或 IOPS 分数

  • 工具提示中的读/写 MB/s 和 IOPS 分数

  • 测量数据值:随机或零

  • 测量大小:16MB、32MB、64MB、128MB、256MB、512MB、1GiB、2GiB、4GiB、8GiB、16GiB、32GiB 或 64GiB

  • 测量间隔:0 秒、…、10 分钟

  • 测量持续时间限制:无、5 秒、……、1 分钟。

CrystalDiskMark 的作者允许在本应用程序中使用相同或类似的用户界面。

典型测试结果

m1 max 内置硬盘

5次每次1GB设置下的速度测试情况:

APPLE-SSD-AP1024R-Apple-M1Max

9次每次64GB设置下的速度测试情况:

APPLE-SSD-AP1024R-Apple-M1Max

外置硬盘盒接pcie4.0 ssd

  • 硬盘盒:ITGZ USB4 40g M.2 nvme 移动硬盘盒
  • 硬盘:移速4TN7000 pcie4.0 4T ssd
  • 笔记本:macbook pro m1 max
  • 数据线:hagibis 海备思双typec全功能usb4数据线,13厘米长度

5次每次1GB设置下的速度测试情况:

YSSDHB-4TN7000-Apple-M1Max

9次每次64GB设置下的速度测试情况:

YSSDHB-4TN7000-Apple-M1Max

3 - ITGZ USB4 40g M.2 nvme 移动硬盘盒

asm2464芯片,全兼容,支持雷电4,usb4,use3.1

3.1 - 评测参考资料

ITGZ USB4移动硬盘盒评测参考资料

评测资料

3.2 - ITGZ USB4 40g M.2 nvme 移动硬盘盒

ITGZ USB4 40g M.2 nvme 移动硬盘盒在mac雷电4接口上的测试情况

背景

  • 硬盘盒:ITGZ USB4 40g M.2 nvme 移动硬盘盒
  • 硬盘:移速4TN7000 pcie4.0 4T ssd
  • 笔记本:macbook pro m1 max
  • 数据线1:hagibis 海备思双typec全功能usb4数据线,13厘米长度
  • 数据线2: HP惠普雷电4数据线0.7米

测试

AmorphousDiskMark 测试

5次每次1GB设置下的速度测试情况(数据线1,笔记本左边接口):

YSSDHB-4TN7000-Apple-M1Max

5次每次1GB设置下的速度测试情况(数据线2,笔记本左边接口):

YSSDHB-4TN7000-Apple-M1Max-3

9次每次64GB设置下的速度测试情况(数据线1,笔记本左边接口):

YSSDHB-4TN7000-Apple-M1Max

9次每次64GB设置下的速度测试情况(数据线2,笔记本左边接口):

YSSDHB-4TN7000-Apple-M1Max-4

看来是雷电数据线的影响?

又重新测试了一下,还是用海备思的短线,接刚才的雷电口,很奇怪速度又正常了,基本和hp的线成绩完全一致(数据线1,笔记本右边接口):

YSSDHB-4TN7000-Apple-M1Max-4

想起来第一次测试短线时用的是笔记本左边的雷电口,这次是换成了m1 max 笔记本的右边的雷电口。一次再次测试,插在左边的雷电口上。结果速度又回到了第一次(比较慢的那一次)的结果(数据线1,笔记本坐边接口):

YSSDHB-4TN7000-Apple-M1Max-4

重复测试了左边的另外一个雷电口(数据线1,笔记本左边的另一个接口):

YSSDHB-4TN7000-Apple-M1Max-4

4 - 移速4TN7000 4t硬盘

移速4TN7000 4t pcie4.0 SSD硬盘

4.1 - 评测参考资料

移速4TN7000的评测参考资料

评测参考资料

4.2 - pcie3.0测试数据

移速4TN7000在pcie3.0下的测试数据

硬盘型号 移速4TN7000,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。

技嘉x99 ud4 + ubuntu server

主板为技嘉x99 ud4, 通过pcie拆分卡得到了一个 m2 接口 pcie 4.0 x4。

安装 ubuntu 20.04 系统,5.4 内核, ext4 格式。

基本信息

$ lspci | grep Volatile

03:00.0 Non-Volatile memory controller: Device 1e4b:1602 (rev 01)

磁盘数据:

$ sudo fdisk -l

Disk /dev/nvme0n1: 3.74 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: YSSDHB-4TN7000                          
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA503D82-D785-4A47-A701-504DB1ED256C

Device         Start        End    Sectors  Size Type
/dev/nvme0n1p1  2048 8001573518 8001571471  3.7T Linux filesystem

测试分区为 nvme0n1p1,分区信息:

$ sudo hdparm /dev/nvme0n1p1

/dev/nvme0n1p1:
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 3907017/64/32, sectors = 8001571471, start = 2048

速度测试

硬盘写入速度:

$ sudo dd if=/dev/zero of=/data/temp/test1.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 11.6533 s, 921 MB/s

只有 0.9 GB,低的离谱,虽然主板限制只能跑pcie 3.0 x4 32G的带宽, 但按说写入速度应该是3-4GB级别,就算打折扣也不应该这么低。参考爱国者p7000z的速度是 1.8GB/秒。

读取速度为 6.6GB/S,这个还行,应该是缓存:

$ dd if=/data/temp/test1.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 1.62146 s, 6.6 GB/s

持续写入 100G的文件,还是 0.9 GB/秒:

$ sudo dd if=/dev/zero of=/data/temp/test1.img bs=1G count=100 oflag=dsync

100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 118.151 s, 909 MB/s

硬盘读取速度(直接以 8M 的 block size 读取 100GB 大文件):

$ dd if=/data/temp/test1.img of=/dev/null bs=8M                           
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 37.7508 s, 2.8 GB/s

2.8 GB的速度有点低,对比爱国者p7000z 是 4.0GB/s 。

持续写入 1T的文件,还是 0.9 GB/秒,看来缓外速度就真的只有900M了:

$ sudo dd if=/dev/zero of=/data/temp/test-1t.img bs=1G count=1000 oflag=dsync
1000+0 records in
1000+0 records out
1073741824000 bytes (1.1 TB, 1000 GiB) copied, 1221.81 s, 879 MB/s

硬盘读取速度(以 8M 的 block size 读取 1 TB 大文件):

dd if=/data/temp/test-1t.img of=/dev/null bs=8M     
128000+0 records in
128000+0 records out
1073741824000 bytes (1.1 TB, 1000 GiB) copied, 368.641 s, 2.9 GB/s

看来 2.8/2.9G 就是 pcie3 下的无缓存极限速度了。

4.3 - pcie4.0测试数据

移速4TN7000在pcie4.0下的测试数据

硬盘型号 移速4TN7000,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。

华硕z690 + linux mint

主板为华硕z690 ddr4, pcie 4.0 x4。

安装 linux mint系统,5.15 内核, ext4 格式。

基本信息

$ lspci | grep Volatile

08:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. Device 1602 (rev 01)

磁盘数据:

$ sudo fdisk -l

Disk /dev/nvme1n1: 3.73 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: YSSDHB-4TN7000                          
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DA503D82-D785-4A47-A701-504DB1ED256C

Device         Start        End    Sectors  Size Type
/dev/nvme1n1p1  2048 8001573518 8001571471  3.7T Linux filesystem

测试分区为 nvme1n1p1,分区信息:

$ sudo hdparm /dev/nvme1n1p1

/dev/nvme1n1p1:
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 3907017/64/32, sectors = 8001571471, start = 2048

DD命令速度测试

写入1G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-1g.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.651223 s, 1.6 GB/s

读取1G文件的速度为 20GB/S,这应该是缓存的原因:

$ dd if=/data/temp/test-1g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.518808 s, 20.7 GB/s

写入10G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-10g.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 5.1595 s, 2.1 GB/s

速度10G文件的速度为 20GB/S,这应该还是缓存的原因:

$ dd if=/data/temp/test-10g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.518808 s, 20.7 GB/s

写入100G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-100g.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 53.9242 s, 2.0 GB/s

读取100G文件的速度为 5.0 GB/s,这终于不是缓存速度了:

$ dd if=/data/temp/test-100g.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 21.2991 s, 5.0 GB/s

写入1T文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-1t.img bs=1G count=1024 oflag=dsync
1024+0 records in
1024+0 records out
1099511627776 bytes (1.1 TB, 1.0 TiB) copied, 566.778 s, 1.9 GB/s

读取1T文件的速度为 5.0 GB/s:

$ dd if=/data/temp/test-1t.img of=/dev/null bs=8M
131072+0 records in
131072+0 records out
1099511627776 bytes (1.1 TB, 1.0 TiB) copied, 215.191 s, 5.1 GB/s

小结: 用 dd 命令测试出来的速度大概是读取 5GB/s,写入 1.9-2.0GB/s。这个速度尤其是写入速度和宣称的读取7000M写入6000M差距很多。

disk工具

linux mint 自带的 disk 工具,选择硬盘后,可以进行 disk benchmark。

这里测试出来的速度是读取 6.9GB/s,写入 5.3GB/s,就非常接近宣称的读取7000M/写入6000M。

华硕z690 + windows 10

主板为华硕z690 ddr4, pcie 4.0 x4。

AS SSD Benchmark 测试结果

as-ssd-bench YSSDHB-4TN7000 2023.9.22 14-37-22

crystalDiskMark 测试结果

1GB:

CrystalDiskMark_20230922150316

64GB:

CrystalDiskMark_20230922150641

5 - 爱国者p7000z 4t硬盘

爱国者p7000z 4t pcie4.0 SSD硬盘

5.1 - z690主板安装windows并以pcie4.0运行

爱国者p7000z在z690主板安装windows并以pcie4.0运行时的速度测试

AS SSD Bench

5.2 - z690主板安装ubuntu并以pcie4.0运行

爱国者p7000z在z690主板安装ubuntu并以pcie4.0运行时的速度测试

硬盘型号 爱国者p7000z,容量 4T , m2 接口 nvme 协议, pcie 4.0 x4, 规格为 2280。

华硕z690 + ubuntu 20.04

主板为华硕 z690-p d4, m2 接口 pcie 4.0 x4。

安装 ubuntu 20.04 系统,5.4 内核, ext4 格式。

基本信息

$ lspci | grep Volatile

02:00.0 Non-Volatile memory controller: Device 1e4b:1602 (rev 01)

磁盘数据:

$ sudo fdisk -l

Disk /dev/nvme0n1: 3.74 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: aigo NVMe SSD P7000Z 4TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EE02EE97-D530-4107-9D83-6A15532005BA

Device              Start        End    Sectors  Size Type
/dev/nvme0n1p1       2048    1050623    1048576  512M EFI System
/dev/nvme0n1p2    1050624 1074792447 1073741824  512G Linux filesystem
/dev/nvme0n1p3 1074792448 1179650047  104857600   50G Linux filesystem
/dev/nvme0n1p4 1179650048 8001570815 6821920768  3.2T Linux filesystem

测试分区为 nvme0n1p4,分区信息:

$ sudo hdparm /dev/nvme0n1p4

/dev/nvme0n1p4:
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 readonly      =  0 (off)
 readahead     = 256 (on)
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 geometry      = 3331016/64/32, sectors = 6821920768, start = 1179650048

速度测试

硬盘写入速度:

$ dd if=/dev/zero of=/mnt/data/share/temp/test1.img bs=1G count=10 oflag=dsync

10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 5.96539 s, 1.8 GB/s

只有 1.4 GB,有点低的,p7000z 是 pcie 4.0,按说写入速度应该是5-6GB级别。

持续写入 100G的文件,还是 1.8 GB/秒:

$ dd if=/dev/zero of=/mnt/data/share/temp/test1.img bs=1G count=100 oflag=dsync

100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 60.8423 s, 1.8 GB/s

硬盘读取速度(直接以 8M 的 block size 读取 100GB 大文件):

$ dd if=/mnt/data/share/temp/test1.img of=/dev/null bs=8M
                                             
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 26.7172 s, 4.0 GB/s

4.0GB/s 的速度只能说差强人意,凑合吧。

5.3 - [归档]修复在pve8.0下无法使用的问题

修复爱国者p7000z 4t在pve8.0下无法使用的问题

归档原因: pve 升级到8.2之后就没有这个问题了。

问题描述

618 大促时低价从京东购买的爱国者 p7000z 4t pcie4.0 SSD 硬盘,发现在 pve 8.0 下无法使用,安装时报错:

kernel: nvme nvme0: Device not ready; aborting initialisation, CSTS=0x0

问题描述参考这里:

https://www.chiphell.com/forum.php?mod=redirect&goto=findpost&ptid=2524660&pid=52962287

我遇到的问题和他一样,报错相同,而且我只有一块硬盘也是如此报错。

解决方案

参考chh的帖子:

https://www.chiphell.com/thread-2524660-1-1.html

下载补丁,上传到 pve 所在机器,然后安装:

dpkg -i *.deb

安装过程如下:


dpkg: warning: downgrading linux-tools-6.2 from 6.2.16-6 to 6.2.16-4
(Reading database ... 153375 files and directories currently installed.)
Preparing to unpack linux-tools-6.2_6.2.16-4_amd64.deb ...
Unpacking linux-tools-6.2 (6.2.16-4) over (6.2.16-6) ...
dpkg: warning: downgrading linux-tools-6.2-dbgsym from 6.2.16-6 to 6.2.16-4
Preparing to unpack linux-tools-6.2-dbgsym_6.2.16-4_amd64.deb ...
Unpacking linux-tools-6.2-dbgsym (6.2.16-4) over (6.2.16-6) ...
dpkg: warning: downgrading pve-headers-6.2.16-4-pve from 6.2.16-5 to 6.2.16-4
Preparing to unpack pve-headers-6.2.16-4-pve_6.2.16-4_amd64.deb ...
Unpacking pve-headers-6.2.16-4-pve (6.2.16-4) over (6.2.16-5) ...
dpkg: warning: downgrading pve-kernel-6.2.16-4-pve from 6.2.16-5 to 6.2.16-4
Preparing to unpack pve-kernel-6.2.16-4-pve_6.2.16-4_amd64.deb ...
Unpacking pve-kernel-6.2.16-4-pve (6.2.16-4) over (6.2.16-5) ...
Preparing to unpack pve-kernel-libc-dev_6.2.16-4_amd64.deb ...
Unpacking pve-kernel-libc-dev (6.2.16-4) over (6.2.16-4) ...
Setting up linux-tools-6.2 (6.2.16-4) ...
Setting up linux-tools-6.2-dbgsym (6.2.16-4) ...
Setting up pve-headers-6.2.16-4-pve (6.2.16-4) ...
Setting up pve-kernel-6.2.16-4-pve (6.2.16-4) ...
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/dkms 6.2.16-4-pve /boot/vmlinuz-6.2.16-4-pve
dkms: running auto installation service for kernel 6.2.16-4-pve.
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
Deprecated feature: REMAKE_INITRD (/var/lib/dkms/r8125/9.011.01/source/dkms.conf)
dkms: autoinstall for kernel: 6.2.16-4-pve.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.2.16-4-pve /boot/vmlinuz-6.2.16-4-pve
update-initramfs: Generating /boot/initrd.img-6.2.16-4-pve

有几个包是被降级的,所以之后再 apt update 时就要小心不要升级这几个包

  • linux-tools-6.2-dbgsym
  • pve-headers-6.2.16-4-pve
  • pve-kernel-6.2.16-4-pve

备注: 这个方案只能是先用其他硬盘做系统盘安装好 pve 8.0, 然后打补丁,再安装 p7000z 4t 硬盘做从盘使用。

识别情况

打好补丁之后,p7000z 4t 硬盘就可以正常被 pve 8.0 识别了。执行

lspci

可以看到:

01:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
02:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1602 (rev 01)
04:00.0 Ethernet controller: Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
09:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983

02:00.0 Non-Volatile memory controller: MAXIO Technology (Hangzhou) Ltd. NVMe SSD Controller MAP1602 (rev 01) 就是这块 p7000z 硬盘了。

执行

fdisk -l

可以看到硬盘信息:

Disk /dev/nvme1n1: 3.73 TiB, 4096805658624 bytes, 8001573552 sectors
Disk model: aigo NVMe SSD P7000Z 4TB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: BE883E7B-55A1-45F2-A8EF-589159CEF00D

Device           Start        End    Sectors  Size Type
/dev/nvme1n1p1      34       2047       2014 1007K BIOS boot
/dev/nvme1n1p2    2048    2099199    2097152    1G EFI System
/dev/nvme1n1p3 2099200 8001573518 7999474319  3.7T Linux LVM

6 - 凯侠CD6 3.84t硬盘

凯侠CD6 3.84t硬盘 pcie4.0 SSD硬盘

6.1 - 评测参考资料

凯侠CD6的评测参考资料

评测参考资料

6.2 - pcie4.0测试数据

凯侠cd6在pcie4.0下的测试数据

硬盘型号 凯侠cd6,容量 3.84T , u2 接口 nvme 协议, pcie 4.0 x4。

华硕z690 + linux mint

主板为华硕z690 ddr4, pcie 4.0 x4。

安装 linux mint系统,5.15 内核, ext4 格式。

基本信息

$ lspci | grep Volatile

02:00.0 Non-Volatile memory controller: KIOXIA Corporation NVMe SSD Controller Cx6 (rev 01)

磁盘数据:

$ sudo fdisk -l

Disk /dev/nvme0n1: 3.49 TiB, 3840755982336 bytes, 7501476528 sectors
Disk model: KCD61LUL3T84                            
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: FBEFBE02-9843-4FEC-8B2C-C50B5EAD8069

Device              Start        End    Sectors   Size Type
/dev/nvme0n1p1       2048     206847     204800   100M EFI System
/dev/nvme0n1p2     206848     239615      32768    16M Microsoft reserved
/dev/nvme0n1p3     239616 1047643943 1047404328 499.4G Microsoft basic data
/dev/nvme0n1p4 1047644160 1048813567    1169408   571M Windows recovery environment
/dev/nvme0n1p5 1048815616 2097391615 1048576000   500G Microsoft basic data
/dev/nvme0n1p6 2097391616 7340271615 5242880000   2.4T Microsoft basic data
/dev/nvme0n1p7 7340271616 7501475839  161204224  76.9G Microsoft basic data

测试分区为 nvme0n1p3,分区信息:

$ sudo hdparm /dev/nvme0n1p3

/dev/nvme0n1p3:
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 511427/64/32, sectors = 1047404328, start = 239616

DD命令速度测试

写入1G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-1g.img bs=1G count=1 oflag=dsync
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.903675 s, 1.2 GB/s

读取1G文件的速度为 15GB/S,这应该是缓存的原因:

$ dd if=/data/temp/test-1g.img of=/dev/null bs=8M
128+0 records in
128+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.0711245 s, 15.1 GB/s

写入10G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-10g.img bs=1G count=10 oflag=dsync
10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 7.30757 s, 1.5 GB/s

速度10G文件的速度为 18GB/S,这应该还是缓存的原因:

$ dd if=/data/temp/test-10g.img of=/dev/null bs=8M
1280+0 records in
1280+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.577161 s, 18.6 GB/s

写入100G文件的速度:

$ sudo dd if=/dev/zero of=/data/temp/test-100g.img bs=1G count=100 oflag=dsync
100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 72.0129 s, 1.5 GB/s

读取100G文件的速度为 4.0 GB/s,这终于不是缓存速度了:

$ dd if=/data/temp/test-100g.img of=/dev/null bs=8M
12800+0 records in
12800+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 26.902 s, 4.0 GB/s

小结: 用 dd 命令测试出来的速度大概是读取 4GB/s,写入 1.5GB/s。这个速度尤其是写入速度和宣称的读取6500M写入2300M差距很多。

disk工具

linux mint 自带的 disk 工具,选择硬盘后,可以进行 disk benchmark。

这里测试出来的速度是读取 5.6GB/s,写入 2.4GB/s,就非常接近宣称的读取6500M/写入2300M。

华硕z690 + windows10

主板为华硕z690 ddr4, pcie 4.0 x4。

AS SSD Benchmark 测试数据

1

CrystalDiskMark 测试数据

1g

64g

附录:linux ntfs格式的速度问题

结论:ntfs格式的硬盘在 linux 下性能会下降的非常严重,大概只有正常的10%

nvme0n1p6 这个分区是 ntfs 格式。

nvme0n1p6 硬盘写入速度:

$ dd if=/dev/zero of=/media/d/temp/test1.img bs=1G count=10 oflag=dsync

10+0 records in
10+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 29.3955 s, 365 MB/s

只有 365 兆,低的有点出乎意外,应该是 linux 读写 ntfs 格式有速度问题。

nvme0n1p6 硬盘读取速度:

$ dd if=/media/d/temp/test1.img of=/dev/null bs=8k

1310720+0 records in
1310720+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 1.91374 s, 5.6 GB/s

5.6GB 的速度有点偏高,估计还是缓存。尝试读取 100 GB大小的文件:

$ dd if=/dev/zero of=/media/d/temp/test1.img bs=1G count=100 oflag=dsync

100+0 records in
100+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 242.065 s, 444 MB/s

444 MB/s 每秒的速度和前面 ext4 下的 4.3 GB/s 相比,nfts 格式会让磁盘性能下降到 10% ,实在恐怖。所以还是要避免在 linux 下使用 ntfs 格式。

7 - 三星pm953 960t硬盘

三星pm953 960t 22110企业级硬盘

7.1 - pcie3.0

三星pm953 960t 在pcie3.0下的测试数据

华硕z690-p + windows10

主板为华硕z690-p d4。

CrystalDiskMark_20231226103404

8 - 闪迪云盘eco 1.92t硬盘

闪迪云盘eco 1.92t MLC sata3 2.5寸企业级硬盘

8.1 - pcie3.0

闪迪云盘eco 1.92t在pcie3.0下的测试数据

华硕z690-p + windows10

主板为华硕z690-p d4。

AS SSD Benchmark

下拉选择 10GB 大小

as-ssd-bench SDLF1CRR