![CPU:从 HDD 读取时,处理器速度还是核心数量更重要?](https://linux22.com/image/1571353/CPU%EF%BC%9A%E4%BB%8E%20HDD%20%E8%AF%BB%E5%8F%96%E6%97%B6%EF%BC%8C%E5%A4%84%E7%90%86%E5%99%A8%E9%80%9F%E5%BA%A6%E8%BF%98%E6%98%AF%E6%A0%B8%E5%BF%83%E6%95%B0%E9%87%8F%E6%9B%B4%E9%87%8D%E8%A6%81%EF%BC%9F.png)
我正在考虑购买哪种 NAS,Synology DS418play 还是 DS419play。
前者具有双核 2.0 爆发,最高可达 2.5 GHz,后者具有四核 1.5 爆发,最高可达 2.3 GHz。
无论哪种情况,我都会使用 4 个 7200 rpm 硬盘,采用 SHR-1 模式(大致为 RAID-1)。主要目的是从计算机浏览器访问媒体文件(但不转码媒体)。
回到实际问题:在决定处理器速度与核心数量以获得硬盘最佳读取性能时,哪个更重要?系统是否通常只使用一个核心读取驱动器,还是使用多个核心读取多个驱动器?例如,如果它总是只使用一个核心读取全部驱动器,这向我表明处理器速度更为重要。
注意:这不是购买建议请求,例如,没有必要考虑价格等无关因素。主要考虑的是处理器速度/核心数以及它们与 SHR-1/RAID-1 性能的关系。1
1(两种型号的价格差异实际上并不大,因此这不是本次讨论的因素。前者更适合家庭用户,而后者则适合小型企业用户。我是家庭用户,因此 NAS 不会看到并发用户。但是,我对使用这些驱动器获得最佳的读/写效果很感兴趣。)
答案1
由于不知道这两个磁盘固件的内部情况,我只能根据我对操作系统的一般了解进行推测。
NAS 磁盘的固件是一个小型操作系统,它通过一个接口从计算机驱动程序接收请求,该接口并行处理与 NAS 上的磁盘数量相同的请求,并通过同一接口返回答案。
NAS 将有两个队列:用于传入请求和传出答案。NAS 中将运行的基本进程如下:
- 与计算机通信的驱动程序,处理两个队列,或者如果发送和接收是不同的过程,则处理两个队列
- 处理请求的处理器至少与 NAS 中的磁盘数量一样多,如果它们专门用于读取或写入操作但不同时用于读取和写入操作,则可能将该数量加倍。
这意味着为了处理来自计算机上一个进程的一系列顺序请求,您只需要两个核心。
但是,核心的 CPU 速度可能并不那么重要,因为主要时间肯定花在等待磁盘头定位到盘片上,然后是传输时间。
CPU 速度仅在搜索内置缓存缓冲区以进行读取请求时才会体现,以避免在数据已在内存中时访问磁盘,这可能可以忽略不计。
在您的情况下,2.5 和 2.3 GHZ 之间的差异并不大,与寻道时间和传输时间等其他因素相比不会产生很大差异。
对于使用量适中的单个用户来说,这两款 NAS 的性能似乎相当,因为两个核心足以一次处理一个请求。
但是,很容易构建出四核处理器更胜一筹的场景。例如,将一个多 GB 的文件复制到 NAS 上。操作系统将尽可能多地将文件读入缓存,甚至可能是整个文件,然后使用多个并行请求将其写出到 NAS。在 RAID 的情况下,计算机磁盘驱动程序将文件分配到尽可能多的可用磁盘上。例如,如果两个磁盘并行工作,则写入将在一半时间内终止。在这种情况下,四核处理器会表现更好。
因此,我倾向于选择四核,因为在繁重的 I/O 情况下限制较少。
答案2
重要的是 CPU 的实际性能。它如何实现其性能并不重要。
这个问题就像问汽车的气缸数和发动机排量哪个更重要。谁在乎呢?除非你设计和制造汽车,或者真的对技术感兴趣,否则重要的是马力、加速度和测量性能。
在基准测试网站上查找这两款 CPU 的性能,看看它们的性能如何。它们的内部架构可能截然不同,这使得时钟速度和核心数等细节无法比较。