我们最近搬到了一台新服务器。我们发现使用 ftp 命令上传 5MB 文件大约需要 5 秒。但通过 CURL 命令上传同一个文件大约需要 140 秒。知道这里可能出了什么问题吗?
干杯 M
答案1
通过 FTP 上传意味着使用 TCP 将二进制数据直接传输到文件系统。
通过 cURL 上传意味着使用 HTTP(使用 TCP)将 base64 编码数据(大 1.5 倍)传输到 Web 服务器。Web 应用程序可能会创建一个 5MB 内存对象,然后将其写入磁盘上的某个位置(这在很大程度上取决于您的应用程序)。
您知道您的 HTTP 服务器上如何处理上传吗?
Nginx 有一个相当不错的模块:nginx 上传模块