使用 amazon s3 vs nginx 提供静态文件

Jul*_*ier 9 nginx amazon-s3 amazon-ec2

假设我有一个 Django 应用程序

使用 s3 提供静态文件或在 ec2 实例上设置 nginx 服务器会更好(性能方面)吗?

小智 8

对于 CSS、导航图像等站点资产,Nginx 将更快。如果客户端浏览器已经为动态页面打开了连接,并且设置了 keepalive,它将使用相同的连接。

您现在可以使用 EC2 托管内容支持 CloudFront,因此在该级别不再需要 S3。此外,您可以将 cloudfront 与 django 生成一起使用,但不要频繁更改内容。您可以使用 nginx 的内置缓存来处理半动态内容。如果您无论如何都必须为 django 部分运行一个服务器,那么这不需要太多额外的工作。

如果您需要托管的文件更大,那么 S3 开始看起来更好,因为较小的 EC2 实例上的磁盘性能并不理想。

最后,除非您每秒处理数十个请求,否则两个选项都将足够接近,以至于很难衡量差异。


EEA*_*EAA 4

有很多事情可以发挥作用,但如果可以的话,如果可以的话,我会直接从 S3 中提供服务。性能至少与使用 nginx 一样好,甚至可能更好,并且它为您提供了一个在未来需要时开始使用 AWS 的 CloudFront CDN 的简单路径。