gpt4 book ai didi

ruby-on-rails - 为什么使用 nginx 作为代理时 Rails 中间件开销这么高?

转载 作者:行者123 更新时间:2023-12-01 06:33:30 25 4
gpt4 key购买 nike

感谢 Godfrey Chan 到目前为止我从他那里得到的有用的见解。他向我指出了一个事实,即与日志中报告的时间相比(在 XXXms 内完成... )。

这是我从测试中得到的:

1 - 在 Chrome 中访问 Rails 操作的直接 URL:

  • X 运行时间:25 毫秒
  • Chrome“等待”时间:27ms
  • Rails 日志格​​式的报告时间:在 7ms 内完成 200 OK(查看:0.9ms | Sequel:3.0ms)

  • 2 - 访问相同的 URL,但使用带有 proxy_pass 的 nginx,也在 Chrome 中:
  • X 运行时间:84 毫秒
  • Chrome“等待”时间:88ms
  • 在 7ms 内完成 200 OK(观看次数:0.8ms | 续集:2.9ms)

  • 3 - 从 Chrome 的开发者工具中复制 Curl 地址并使用 curl -I 运行它:
  • X-Runtime:105 毫秒(有时达到 400 毫秒)
  • 在 88ms 内完成 200 OK(观看次数:2.0ms | 续集:5.5ms)

  • 当我多次尝试时,这些时间安排非常一致。

    如果 Rails 通过 nginx proxy_pass,为什么 Rails 需要更长的时间来处理相同的请求?我知道 Curl 不能利用 keep-alive 等功能,但我相信 nginx 能够利用它。但无论如何,X-Runtime header 不应该考虑打开连接的时间,对吗?

    最佳答案

    我无法再重现这个问题,所以不要介意调查它,除非你可以自己重现它并向我们提供更多细节来调查它。

    关于ruby-on-rails - 为什么使用 nginx 作为代理时 Rails 中间件开销这么高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17797753/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com