我最近使用gunicorn和nginx部署了一个WSGI应用程序(openERP v-8.0)。我注意到第一个请求需要花费很多时间(1-2分钟),但随后的请求非常快。
在打开开发人员工具时,我注意到第一个请求中的大部分时间用于服务JS和CSS(请求如下:
我可以以某种方式缓存这些请求吗?或者是否有一种有效的方式来提供这些请求?
由于
答案 0 :(得分:0)
对于Web服务器来说,响应第一个查询的速度比连续的查询要慢,无论技术堆栈是什么,如果第一个查询导致初始化工作,而连续的查询由于缓存而导致额外的工作,重用open数据库连接等。
一个简单而流行的解决方法(再次,无论技术堆栈)是在您启动服务器时内部和无害地发送“第一个查询”(可能在您用于此启动的相同脚本中)
这种非常简单的方法的术语是“发送热身查询”。人们可以对此感到高兴(如果需要不同的查询来预热各种缓存和c),但通常即使是最简单的查询也可以满足这个角色。