如何在 python 应用程序中有效地提供 JS 和 CSS

How to efficiently serve JS and CSS in a python application

本文关键字:JS CSS 有效地 python 应用程序      更新时间:2023-09-26

我最近使用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

我可以以某种方式缓存这些请求吗?或者是否有一种有效的方法来处理这些请求?

谢谢

无论技术堆栈如何,如果第一个查询导致初始化工作,并且连续查询避免了由于缓存、重用打开的数据库连接等而避免了额外的工作,那么 Web 服务器对第一个查询的响应速度比对连续查询的响应速度慢是很正常的。

一个简单而流行的解决方法(同样,无论技术堆栈如何)是在启动服务器后立即在内部无害地发送"第一个查询"(可能与您用于此启动的脚本相同)。

这种非常简单的方法的艺术术语是"发送预热查询"。 人们可以花哨它(如果需要不同的查询来预热各种缓存&c),但通常即使是最简单的查询也足以担任这个角色。