【问题标题】:Unexplained high response time on Heroku environmentHeroku 环境中无法解释的高响应时间
【发布时间】:2015-04-23 22:18:57
【问题描述】:

我正在为一个通常有 1-2 个并发用户的小型内部应用程序使用付费 Heroku(35 美元/月 2x web dyno,50 美元/月银 postgresdb)计划。数据库快照大小小于 1MB。

应用程序是 Rails 4.1。在过去的两周里,生产环境的性能显着下降,Chrome 开发工具报告的响应时间像 8 秒

典型:

总共​8.13s
停滞 3.643 ms
DNS 查询 ​2.637 ms
初始连接 235.532 ms
SSL ​133.738 ms
请求已发送​0.546 ms
等待(TTFB)​3.43 s
内容下载​4.47 s

我正在使用 Nitrous 开发环境,并在具有非预编译资产(带有镜像数据库)的开发服务器上获得 sub-1s 响应。

我是新手程序员,不清楚如何调试它。为什么在 85 美元/月以上的 Heroku 计划中,我会看到比开发环境慢 800% 的性能?考虑到我目前的编程技能水平,我的应用程序可能优化不佳(其中有几个 N+1 查询......)但是当生产有 1-2 个并发用户时会有多糟糕??

如果有帮助,请从日志中获取样本: sample#current_transaction=16478 sample#db_size=18974904bytes sample#tables=28 sample#active-connections=6 sam ple#waiting-connections=0 sample#index-cache-hit-rate=0.99929 sample#table-cache-hit-rate=0.99917 sample#load-avg-1m=0.365 sample#load-avg-5m=0.45 sample#load-avg-15m=0.445 sample#read-iops= 37.587 sample#write-iops=36.7 sample#memory-total=15405616kB sample#memory-free=1409236kB sample#memory-cached=12980840kB sample#memory-postgres=497784kB

来自服务器日志的示例: Completed 200 OK in 78ms (Views: 40.9ms | ActiveRecord: 26.6ms

我在开发服务器上看到类似的数字,但实际的视觉性能是白天和黑夜。开发人员按照您的预期做出响应 - sub-1s 响应和渲染。生产服务器延迟 4-5 秒。

我认为这与建议的 ISP 无关,因为我实际上一直在旅行并看到来自美国和欧洲的相同性能问题。

【问题讨论】:

  • 从应用程序日志开始,而不是数据库日志。他们会告诉你数据库查询、渲染等之间的细分
  • 添加了更多信息——我真的很难过。任何更多的建议表示赞赏!我可能读错了,但服务器日志似乎没有发现任何响应缓慢——我只看到客户端的问题。但它在所有设备和不同的物理大陆上都发生在我身上!

标签: ruby-on-rails heroku response server lag


【解决方案1】:

在 Heroku 上将 NewRelic add-on 添加到您应用的生态系统,并探索正在发生的事情。您可以从 Heroku 的仪表板执行此操作。选择免费计划,您将获得 2 周的完整功能试用期。试用期过后会有一些限制,但无论如何它足以衡量小应用程序的性能。 您也可以添加Logentries add-on,您将可以通过网络界面访问应用程序的日志历史记录。

【讨论】:

  • 谢谢,但我在找什么?例如,数据库每 15 秒将其发布到日志中 - 包含在有问题的编辑中。
  • 只需添加 NewRelic,您将在图表上看到您的应用程序如何响应服务器端请求的漏洞图片。在您的情况下,问题可能出在您的互联网提供商或 wifi 路由器或与您的应用无关的其他问题上。
  • 这太疯狂了。我刚刚安装完 New Relic,应用程序正在快速尖叫……但我什么也没做!这几乎就像我推动的最后一个构建以某种方式搞砸了,这个添加了 NR gem 的新提交将它整理出来。我想我会监控几天,如果问题得到解决,我会关闭这个问题......
  • 那么,你最终做了什么?你的问题解决了吗?
猜你喜欢
  • 2015-05-19
  • 2021-10-17
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 2019-07-16
  • 1970-01-01
  • 1970-01-01
  • 2021-02-21
相关资源
最近更新 更多