【发布时间】:2015-05-21 08:00:22
【问题描述】:
我的 Rails 应用程序使用 Docker 部署在 Amazon elastic beanstalk 上。 Web 请求流入 nginx Web 服务器,该服务器将它们转发到驻留在 docker 中的 Thin Rails 服务器。一路上的某个地方有一个瓶颈。每 50 个请求(左右)一次,我看到 nginx 报告的服务时间比 rails 瘦服务器报告的时间高 40 倍。
这是一个例子:
NGINX(7490 毫秒):
146.185.56.206 - 筒仓 [18/Mar/2015:13:35:55 +0000] "GET /needs/117.json?iPhone HTTP/1.1" 200 2114 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, 像 Gecko) Chrome/40.0.2214.115 Safari/537.36" 7.490 7.490 .
THIN(Rails 服务器):171 毫秒
2015-03-18 13:35:48.349 [INFO] 方法=获取路径=/needs/117.json 格式=json 控制器=需要操作=显示状态=200 duration=171.96 view=109.73 db=29.20 time=2015-03-18 13:35:47
谁能提供一些指导如何解决这种情况?如何找到响应时间差异的来源?我猜它可能是 nginx 或 docker 或 Thin 或 linux。
【问题讨论】:
标签: ruby-on-rails nginx docker amazon-elastic-beanstalk thin