我计划每小时同步大约 200 个非常小的文件(每个文件小于 1KB),源文件位于远程 SFTP 服务器上,目标文件位于 Windows 服务器上。我担心的是,我计划与 SFTP 服务器建立的连接太多(每 10 秒一次),无法获得近乎实时的体验。
根据其他问题,我计划使用 WinSCP 同步功能和 Windows 任务计划程序(执行 WinSCP 脚本),但正如我所说,我必须每 10 秒执行一次才能及时获得结果,并且服务器资源是一个限制。
关于过多的 SFTP 连接会给服务器带来多大的负载,还有其他想法吗?或者有什么更好的方法可以让这些文件夹保持“同步”。在此先感谢您提出的宝贵想法。
答案1
synchronize
如果保持连接打开(以节省 CPU 密集型 SSH 身份验证所需的资源)并循环运行命令,不是更好吗?仅在连接丢失时重新连接。
这很容易实现使用 WinSCP .NET 程序集的 PowerShell 脚本。
常规 WinSCP 脚本不允许循环和暂停。
如果所有文件都在一个文件夹中(=每次同步运行列出一个目录)并且每次只更改一个小文件(=一次文件传输),则负载就会很小。