我有一个第三方应用程序,它可以读取几个大文件并生成第三个大文件。当生成的文件存储在“本地存储”(即直接连接或基于 iSCSI 的磁盘)上时,其性能相当不错。读取的源文件可以远程存储在我们的 NAS 上并通过 SMB 访问,对性能影响不大。
但是,如果我们尝试将目标文件写入任何类型的 SMB/CIFS 共享(Samba 或 Windows Server),性能将下降近十倍。这在我们的情况下是令人无法接受的缓慢。
否则将文件写入网络共享并不慢。我可以将大文件复制到 SMB 共享并获得出色的性能 - 接近我预期的磁盘和网络性能。
我认为该应用程序的 SMB 共享问题与共享上缺少写入缓存以及可能存在大量网络往返有关。这可能吗?有什么办法可以解决吗?