php - 管理繁重文件夹的文件传输的最佳方法
问题描述
这里的情况有点复杂。我们正在远程文件服务器上接收包含大量文件的大型文件夹(可以通过 FTP 访问,比如说FTP1
)。
那些文件夹可以有一个复杂的树木,重量在50Mo和4Go之间。
使用 PHP,目标是删除不需要的文件(.exe、.pdf ...)。获取所有文件并将它们放在根文件夹中,然后通过创建一个新定义的树状结构对它们进行排序。
在此过程之后,网络服务器应该将所有内容发送到另一个远程 FTP 服务器 ( FTP2
)。
然后可以从中删除文件夹/文件FTP1
使用 laravel,Storage
一切都很容易制作,但我主要关心的是速度。
是不是更好
- 在网络服务器上复制文件,启动过程,复制到远程然后清理
- 直接处理
FTP1
然后复制到FTP2
- 复制到
FTP2
然后直接处理FTP2
我在 IT 基础架构/架构方面没有太多经验,但两个 FTP 都只能通过 Internet 访问,并且永远不会与网络服务器位于同一网络中。
FTP服务器和网络服务器之间的连接应该是高可用性的,但我们都知道这意味着什么......
我不期待答案,但更像是指导方针或处理此案的通常方式。
解决方案
我不太了解你。50Mo是指50mb吗?但无论如何,因为你只是在寻找一个粗略的指南,从我所看到的,
你应该
- 减少对 FTP 的需求,因为 FTP 非常慢。因此,如果您可以进行 1 次 FTP 传输超过 2 次,那肯定会更好。
- 检查您的 ftp 服务器硬件规格。您显然希望更快的人进行处理。
推荐阅读
- python - 硒 | 如何迭代 | TypeError:“WebElement”对象不可迭代
- java - 设置标签指示器高度以匹配父/标签高度
- javascript - 如何在没有页面刷新的情况下监听页面网址更改?
- log4j2 - 使用 log4j2 未显示服务器日志
- angular - 如何在货币指令中添加错误消息或红框?
- javascript - 使用 Google 脚本中的表单条目填充电子邮件主题行
- vue.js - CORS 错误预检丢失允许原始标头 - axios -vue.js
- javascript - 我可以做<
> (是的,包括 <<>> 符号)被摩纳哥编辑器视为有效变量? - google-cloud-platform - 如何在 dialogflow-intégrations 中进行多重集成(twitter + skype)
- multithreading - 是否有将 ThreadId 解析为 i32 或其他原语的函数?