感谢Godfrey Chan对我从他那里得到的有益的见解。 他指出,有一个Rack中间件可以为响应中的X-Runtime HTTP报头中的整个Rails请求提供更准确的时间,与日志中报告的时间相比(Completed in XXXms … )。
以下是我从testing中得到的结果:
1 – 在Chrome中访问直接链接到Rails操作:
2 – 访问相同的URL,但在Chrome中使用带有proxy_pass的nginx:
3 – 从Chrome的开发者工具复制Curl地址并用curl运行它-I:
当我尝试很多次时,这些时间都非常一致。
任何想法,如果通过nginx proxy_pass,Rails将花费更长的时间来提供相同的请求? 我知道Curl不能利用像keep-alive这样的function,但是我相信nginx能够获得它的优势。 但无论如何,打开连接的时间不应该被X-Runtime头部考虑在内,对吧?
我再也不能复制这个问题了,所以不要介意去查看它,除非你自己复制它并给我们提供更多的细节来调查它。