将 500mb 文件上传到 s3 是否是一项昂贵的操作?有没有什么方法可以限制 CPU 使用率等?

将 500mb 文件上传到 s3 是否是一项昂贵的操作?有没有什么方法可以限制 CPU 使用率等?

在生产服务器上,我计划上传一个文件或一组大小可能为 500MB 的文件。

我还没有测试过,但我只是想听听您的意见,看看这是否会对服务器产生重大影响?

我之所以问这个问题,是因为当我通过 SSH 连接到服务器时,如果我在笔记本电脑上将一个大约 10 MB 的文件 scp 到我的服务器,我会注意到 SSH 终端的响应速度非常慢。我知道我使用的是一台只有 512ram 的简单 vps,但我没想到它会产生这么大的影响。

我的产品服务器是 xeon 3450,但文件大小又是 500 MB。我知道我可以将文件分解成更小的部分,但想知道我是否也可以以某种方式限制上传过程的速率?

答案1

上传文件几乎不会消耗任何服务器资源。上传文件可能消耗的资源如下(按可能的顺序排列,但不确定):

  • 您的传出带宽
  • 服务器的传入带宽
  • 服务器的磁盘 IO
  • 服务器的 CPU

当您报告终端速度很慢时,问题很可能是您的传出带宽(ceejayoz 在评论中提到了这一点)。

您的服务器的 CPU 可能甚至不会注意到传输(除非您能以某种方式上传 > 10MB/s)。这可能是因为必须解压缩您正在使用的传输协议的流。如果您在传输过程中不压缩,则 CPU 更不可能出现瓶颈。此外,由于传输将通过单个线程进行,因此无论如何您最多不能使用超过 1 个机器核心。

至于如何限制它,最简单的方法是,无论您使用哪种传输机制,都支持传输速率限制。但由于您没有说明如何传输文件,因此这是未知的。

相关内容