我们早先的文章已经对 CIFS 共享协议做过大致的介绍,大家应该知道 FreeNAS 系统中的 CIFS 共享是通过一款名为 Samba 的开放源代码软件程序实现的。因此,FreeNAS 系统中 CIFS 的性能表现,则完全取决于 Samba 的工作模式以及它对硬件的要求。接下来我们就从 Samba 入手,来讨论一下为什么需要为 CIFS 共享搭配性能更好的 CPU?

CIFS共享需要搭配性能更好的CPU

Samba 是单线程的,因此,使用不同速度的 CPU,会导致 CIFS 共享性能大不相同。举例来说,使用一块主频 2.5Ghz 或更高的英特尔酷睿四核处理器,可以轻松应对千兆局域网的数据传输速度需求。然而,若使用 Intel Atoms 或 AMD C-30sE-350E-450 这一类的节能型 CPU,则很难获得超过 30-40MB/s 的数据传输速度。需要注意的是,如 ZFS 文件系统等其他一些基础应用会同时占用 CPU 资源,也是导致 Samba 的共享达不到最佳性能的原因。

综上所述,如果你 DIY NAS 服务器的目的主要是为 Windows 系统提供数据共享,在选购 CPU 时应该格外注意,预算允许的情况下,尽可能选择高主频的多核心处理器。防止 CPU 负载能力不足,导致 CIFS 共享性能不理想甚至不稳定等情况的发生。

优化 CIFS 共享性能的建议

Samba 写缓存参数可以提升写性能,可以在 CIFS 服务配置中的 “Auxiliary parameters” 附加参数选项中进行配置,为了避免内存碎片,通常将写缓存的值设置为 _SC_PAGESIZE 的倍数(一般为 4096) 。设置写缓存会增加 Samba 对系统内存的需求,如果你的 FreeNAS 主机内存有限则不应设置。

如果您对 CIFS 等 NAS 服务器常用的共享协议还不了解,推荐您阅读我们编写的另一篇文章《常用共享介绍:CIFS、AFP、NFS、WebDAV》。