【发布时间】:2015-01-16 23:18:49
【问题描述】:
我最近使用 gunicorn 和 nginx 部署了一个 WSGI 应用程序(openERP v-8.0)。我注意到第一个请求需要很长时间(1-2 分钟),但后续请求非常快。
在打开开发者工具时,我注意到第一个请求中的大部分时间都花在了为 JS 和 CSS 提供服务上(请求如下:
- http://mydomain/web/js/web.assets_common/4f12486等
- http://mydomain/web/css/web.assets_backend/a27f8d5
- http://mydomain/web/js/web.assets_backend/a27f8d5
我能以某种方式缓存这些请求吗?或者有没有一种有效的方式来处理这些请求?
谢谢
【问题讨论】:
-
如果提供 JavaScript 或 CSS 文件需要一到两 分钟,那么文件的大小可能是千兆字节,或者出现严重错误。
-
压缩文件。适当时使用 CSS 精灵。我怀疑您的系统已经以某种方式缓存下载,因为只有第一个请求需要这么长时间。有各种各样的技术可以减少下载量,但在您缩小问题范围并向我们展示一些代码之前,我们无法提出任何建议。
-
@Blazemonger:您可以查看代码here。我按原样使用 JS 和 CSS
-
这不是 SO 的工作方式 - 我们要求您将代码直接放在您的问题中,这样它就可以供后代使用,未来的访问者可以快速查看它是否对他们有帮助自己的问题。此外,您需要将问题简化为可管理的代码块——没有人愿意搜索整个文件来找出甚至可能不存在的问题。
-
JS/CSS 文件是直接由 nginx 服务的,还是那些请求被推迟到下游?
标签: javascript python css nginx gunicorn