Rails アプリ (Heroku (cedar) でホストされている) がますます多くのメモリを割り当て続ける理由がわかりません。もっとよく知らなければ、これは Ruby/Rails のメモリ リークだと言えますが、私は Ruby/Rails にまったく慣れていないので、完全に明らかな何かが欠けているように感じます。
によって生成された Rails のデフォルトrails new
と、完全に最新の gem を使用しています。
source 'https://rubygems.org'
gem 'rails', '3.2.8'
group :development do
gem 'sqlite3'
end
group :assets do
gem "sass-rails", "~> 3.2.5"
gem "coffee-rails", "~> 3.2.2"
gem "uglifier", "~> 1.3.0"
end
gem "jquery-rails", "~> 2.1.2"
group :production do
gem 'newrelic_rpm'
gem "pg", "~> 0.14.1"
end
デフォルトの newrelic configを使用しています。nothing_controller.rb
を使用して生成されたモデルが 0 個で、コントローラーが 1 個ありますrails generate controller nothing
。
class NothingController < ApplicationController
def index
end
end
public/index.html
空のを削除して追加しましたviews/nothing/index.html.erb
。生成されたアプリに対して他に行った唯一のことは、次へのルートを追加することでしたroutes.rb
。
Nothing::Application.routes.draw do
root :to => "nothing#index"
end
コミットして Heroku にプッシュし、Heroku ページを 10 秒ごとにロードする簡単なスクリプトを作成しました。これは私のNew Relicレポートです:
それだけです。メモリは、Heroku の制限である 512MB を超えるまで、このように増加し続けます。このアプリのコードは、従ったチュートリアルで見たコードとほとんど同じです。私が間違っていることを理解していません。
ガイダンスをいただければ幸いです。
編集 (9/12): 関連する場合に備えて、Ruby 1.9 を使用しています。
サーバーにアクセスするために使用しているコード(C#):
using (var wc = new WebClient())
for (;; Thread.Sleep(10000))
wc.DownloadString("http://vast-earth-9859.herokuapp.com/");
編集 (9/13): New Relic を無効にして、まだ R14 かどうかを確認します。