【问题标题】:Why is Unicorn/Gunicorn slow to serve static content? [closed]为什么 Unicorn/Gunicorn 提供静态内容的速度很慢? [关闭]
【发布时间】:2017-07-30 11:46:16
【问题描述】:

我读过here,Unicorn/Gunicorn HTTP 服务器“不擅长提供静态文件”,而 Nginx 更擅长提供静态内容。谁能解释这是为什么?

我了解 Nginx 和 Gunicorn 的特殊角色,并且 Nginx 是一个反向代理,如果需要,Gunicorn 实际上可以提供静态文件。

【问题讨论】:

  • 我一直在阅读 Unicorn 设计规范文档 herehere。与 Nginx 相比,Gunicorn 可能只是“未优化”吗?例如。它不使用sendfile(),它允许直接服务器->客户端传输?

标签: python django nginx gunicorn unicorn


【解决方案1】:

主要是因为 Unicorn 的设计目的不是解决向客户提供文件所涉及的一系列问题:

Unicorn 是用于快速客户端和 Unix 的服务器。什么是快速客户端? 快速客户端是另一个可以与 机架服务器快速,没有太多延迟。独角兽不如 一个独立的服务器:它不是为处理缓慢的请求而设计的 通过网络连接发生。它依赖于 Nginx 或 Apache 来处理 Web 请求的缓冲和排队,因此它不必 担心并发和事件驱动的编程。独角兽是 基本上是 nginx 和 rack 之间的粘合剂,这里 Nginx 是最快的 客户。

Source

假设您有 100 位访问者使用 56k 调制解调器尝试观看 400mb 视频。您真的不想在内存中保存 100 个应用程序实例,或者将文件加载到内存中等。Nginx 的设计考虑了这种类型的场景。

【讨论】:

  • 好的,谢谢@coreyward,所以如果我理解正确的话,很好地提供文件是一项需要能够适应不同连接速度的功能,并且可能会中断连接等。独角兽与快速客户端一起工作(即本地主机),并且不能很好地处理滞后的远程连接。当我说 Unicorn 在提供文件方面“未优化”时,我想我有点说对了。
猜你喜欢
  • 2010-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多