我使用的软件会定期扫描数千个文件(可能是名称和修改时间)。由于文件是通过网络共享访问的,因此这需要相当长的时间。两台机器都运行 Windows XP SP3。是否有任何简单、可靠的调整可以加快目录扫描速度?
答案1
如果您处理的目录包含数百或数千个文件或子目录(甚至每个目录有几十个文件,所有文件都具有相似的名称),则可能会遇到与 8.3 DOS 兼容的文件名冲突。有一篇 Microsoft KB 文章介绍了如何通过以下方式提高目录枚举性能禁用 8.3 文件名创建。
你也可以禁用上次访问时间戳以提高性能。这有可能导致其他程序出现问题,但如果您确实发现问题,您可以轻松重新启用上次访问时间戳。
您可能只需将这些更改应用于托管网络共享的计算机,但为了安全起见,您可以在两台计算机上都应用这些更改。
如果您在两台计算机上都运行防病毒程序,您还应该尝试在两台计算机上暂时禁用按访问扫描,看看是否能提高性能。根据我的经验,每次您接触文件时,McAfee 防病毒软件都会对性能造成严重影响,但其他一些防病毒应用程序(如 CA 和 Avast)似乎不会对性能造成如此严重的影响,即使启用了按访问扫描。大多数防病毒程序允许您指定要从按访问扫描中排除的目录。
答案2
我立即想到了几个想法:
看看是否可以在应用程序中本地缓存文件数据。这样它只需扫描一次。
升级网络速度。在我所在的地区,千兆以太网 PCI 卡的价格为 30-40 加元。如果您想要路由器,则需要另外 100 美元。但是,如果只有一台计算机,那么您可以在两台计算机之间运行一条交叉 (P2P) cat6 以太网电缆。
速度慢也可能与两台计算机的速度有关。CPU?内存的数量和速度?硬盘的型号是什么?
答案3
通过网络访问文件总是比访问本地磁盘慢。如果您将其设置为在本地运行扫描,则可能能够提高扫描的性能。每当您开始通过网络提取文件时,您都会开始注意到由于访问的文件数量而导致的此类减速。
如果您远程运行相同的扫描,则必须设置连接以传输/访问每个文件,这就是它可能如此缓慢的原因。
可以调整用于访问文件的协议,但只需将过程移至本地扫描而不是网络扫描,您就会看到更显著的结果。
需要注意的是,许多企业级备份解决方案还包括一个本地安装的组件,用于实现同样的目的。文件可以通过网络以推送而不是拉取的方式传输,这是一个显著的改进。
答案4
我遇到了类似的问题。我考虑在远程机器上运行 FTP 服务器,并映射 FTP 驱动器映射。我还没有尝试过,但我敢打赌它会获得更好的性能。如果没有,那么我可能会使用 FTP 客户端来访问它,并完全放弃微软驱动器映射。我打算使用空的 Ftp 服务器尝试一下场景。