与amazon s3与nginx服务静态文件

假设我有一个Django应用程序

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

对于像CSS,导航图像等网站资源,Nginx会更快。如果客户端浏览器已经有了dynamic页面的开放连接,并且Keepalive被设置,它将使用相同的连接。

您现在可以将CloudFront与EC2托pipe的内容一起备份,因此S3不再是该级别的要求。 另外你可以使用django生成的cloudfront,但不能经常更改内容。 你可以使用nginx的内置caching来实现半dynamic内容。 如果你将不得不为django部分运行一个服务器,这不是多余的工作。

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

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

有很多事情可以发挥到这一点,但如果这是一个select,我会直接服务于S3,如果可以的话。 性能将至less与使用nginx一样好或可能更好,并且如果需要的话,它将为您提供一个轻松开始使用AWS CloudFront CDN的途径。