新硬盘顺序读取速度异常

2022-08-12 00:03:18 +08:00
 Puretoe

刚买的威联通 NAS 和一块京东自营的希捷 16T 硬盘和淘宝南京总代的西数 16T 硬盘,刚才发现在 nas 系统里面,两块盘速度相差特别大,新手小白不知道这是否正常,淘宝店主说是希捷硬盘速度过快了不正常。

4222 次点击
所在节点    NAS
91 条回复
leavic
2022-08-12 00:23:50 +08:00
机械硬盘 450MB/s 感觉是快得有点离谱
xmumiffy
2022-08-12 00:28:41 +08:00
xmumiffy
2022-08-12 00:31:45 +08:00
Puretoe
2022-08-12 00:41:07 +08:00
多谢大家,重新测了一次速,数据正常了 276MB/sec
documentzhangx66
2022-08-12 05:32:24 +08:00
在 Linux 里对存储设备进行测速,需要对系统有顶级理解才行,这不是威联通与群辉之流能够做到的。懂这个层次的技术的大佬不会去这种公司,这种公司也养不起这种大佬。

网上能搜到的那些测速方法其实是错的。
sadfQED2
2022-08-12 05:39:28 +08:00
@documentzhangx66 我都是直接 dd 一个 1g 的文件进去,不对吗
ragnaroks
2022-08-12 08:49:48 +08:00
机械盘(不考虑集成固态加速)我见过最高的也就 290 MiB/s 、270 MiB/s 出头,ST2000DM006 (凹陷老版)
superrichman
2022-08-12 08:50:17 +08:00
速度异常可能是测到了缓存的部分?

@documentzhangx66 少了一句,懂的都懂 /doge
documentzhangx66
2022-08-12 08:56:08 +08:00
@sadfQED2 不对,原因是 Linux 坑太多了,同类问题请见 Linux 的 malloc 业务流程图...

Linux 在这类问题上的坑特别多,甚至连 ping 这种基础命令,不同发行版的逻辑都可能不一样。

这类问题我还是喜欢用 Windows 去测,原因是因为微软 20W 工程师,人多,一人写一种场景,都能涵盖所有场景了。
documentzhangx66
2022-08-12 08:56:51 +08:00
@superrichman

不仅是缓存,甚至同一台机器,换个 OS ,换个驱动,结论也会天差地别...

这类测试,建议还是用 Windows 。
superrichman
2022-08-12 09:01:13 +08:00
@documentzhangx66 控制变量法 hhhh
abc0123xyz
2022-08-12 09:16:42 +08:00
450MB/s 这是 sata 接口的 ssd 吧..
LengSe9
2022-08-12 09:30:57 +08:00
op 淘宝硬盘总代店铺名叫啥啊
mozhizhu
2022-08-12 09:44:39 +08:00
@LengSe9 我猜是南京梵多。。
geniussoft
2022-08-12 09:55:28 +08:00
@documentzhangx66
虽然有点难,但是完全不至于。

群晖:
https://imgur.com/a/7QGVjXy
nevin47
2022-08-12 10:05:34 +08:00
@documentzhangx66 #9 你说错了,Linux 的 IO 栈是非常稳定的,发行版对 IO 栈的改动,也是基于公版进行的优化

一般 Linux 下的测试异常,都是不会用工具导致的。例如楼上某位兄弟直接用 dd 来测硬盘带宽……就完全没考虑 write policy 和 page cache 影响
ttxhxz
2022-08-12 10:38:21 +08:00
@LengSe9 南京出名的就南京梵多电子了吧,四大硬盘之家
documentzhangx66
2022-08-12 10:45:23 +08:00
@nevin47 我不是说它不稳,建议你仔细看看我第三行。

我的意思是,linux 穷,因成本问题,只考虑了高性能,没能考虑小众场景,比如楼主提到的测试。
nevin47
2022-08-12 11:03:26 +08:00
@documentzhangx66 #18 你可能没有深入加入过 Kernel 社区参与 patch 讨论和建设,Linux 社区集中了几乎所有大企业的贡献,并不穷,场景设计也极其丰富。只是很多用户在 Linux 做 Benchmark 测试的时候,不是太理解背后的计算机基本原理,导致了还抱着对工具开箱即用的思路来做测试,导致测试结果不可信。

实际上 Windows 上的 Benchmark 也是一样的,STREAM 测内存的时候一样可以测出千奇百怪的结果,关键还是原理的理解和应用,与 OS Kernel 关系其实不大。非要说的话,Linux 代码开源,反而容易研究原理一些

另外 Benchmark 本身也是一个极其复杂的系统工程,每年 Linux plumber conference 都会有 Benchmark 的经典 topic 出现,Benchmark 不是简单跑跑工具,而是一个学术课题
documentzhangx66
2022-08-12 11:57:01 +08:00
@nevin47

我觉得你可能只是听别人说过 patch 讨论与建设,却没有实际去操作不同的 OS 与性能测试,手里可能也没几款存储介质,甚至懒得去不同的场景下做性能测试。我有幸参加过 IEEE 安全版块某些话题的讨论,还参与过 Oracle 分布式问题、华为员工做的交换机问题、思科路由器问题、Windows 安全问题等的讨论,并给某些厂商做了理论与技术指导。

Windows 与 Linux 不一样,人家 20W 员工,是要吃饭的。吃饭的核心家伙,会丢给开源世界让其白嫖?不过这是商业范畴,程序员领域跨专业学金融的不多。

Benchmark 是复杂,我也说了,坑多。但它只是复杂,并不难。如果一个人是科班的,经受过正规系统的学习,他们也会觉得,这玩意坑多。学术课题?免了吧,重本的本科论文水平都没达到,最多是个重点高中的校报水准。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/872312

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX