ruby-on-rails - Heroku 上的简单 Rails 应用程序性能

标签 ruby-on-rails performance heroku newrelic

我有一个非常简单的 rails 3.2.6 应用程序。我多年来一直使用 Heroku 来托管原型(prototype),始终处于免费层。我终于在我最新的应用程序上添加了一个付费测功机,并添加了 New Relic 来监控性能。

我在流量接近零的极其简单的页面上看到 4500+ms 的请求时间(我们尚未启动)。 New Relic 表示,99% 的时间都花在了渲染模板上。这是一个 100 行布局内的 75 行完全静态的 haml 模板。申请模板有标准- if current_user.nil?分支机构。

我还没有添加页面缓存。我当然会这样做,但我想在掩盖它之前确定这种性能非常差的根本原因。有小费吗?我应该从 Heroku 获得什么样的响应时间?在我的本地开发环境中,相同的页面响应时间为 26 毫秒( Assets 在 1.5 秒之前进入)。 New Relic 报告我在 Heroku 上的动态页面的平均响应时间为 2000 毫秒到 6000 毫秒。

编辑:我为静态/打开了页面缓存,现在看到的平均值为 173 毫秒。但我仍然担心我在动态页面上的糟糕平均值。

最佳答案

正如评论中所说,我的猜测是因为在一段时间内第一次点击时,Heroku 将不得不启动应用程序(在免费应用程序的情况下)来服务请求,这会使您的平均请求时间非常慢。

关于ruby-on-rails - Heroku 上的简单 Rails 应用程序性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11053743/

相关文章:

ruby-on-rails - 为产品 rails 成员路线添加删除选项

ruby-on-rails - 如何将 Capistrano 用于非 Rails 应用程序?只是一个静态 html 站点

iPhone openGLES 性能调优

node.js - 如何从heroku 上的NodeJS 应用程序中删除socket.io 轮询日志?

ruby-on-rails - 如何从 rails 4 中的按钮调用 Controller 方法

mysql - ActiveRecord::Relation 包含 ID 为 nil 的对象以及为什么未选择其他数据

c++ - std::vector 的 std::lower_bound 比 std::map::find 慢

asp.net-mvc - ASP.NET MVC应用程序性能分析

ruby-on-rails - 使用 heroku db :push when I'm using PostgreSQL as development db 获取 SQLite 错误

ruby-on-rails - Errno::ECONNREFUSED: 连接被拒绝 - connect(2) for "bucketname.s3-eu-west-1.amazonaws.com"