2011-01-25 8 views
26

Ruby 1.9.2.p136(私はその最新リリースと思われます)とRails 3がインストールされた環境を管理するためにRVMを使用しています。今のところうまく動作しているものはすべて でも、Ruby 1.9.2でRails 3が非常に遅く初期化される

コマンドを実行すると、レールが非常に遅くなります。つまり、生成、破棄、レーキなどです。 コマンドを完了するまでに約30-45秒かかります。 Ruby Enterprise EditionまたはRuby 1.8.7を使用している場合、これは起こりません。

なぜこのようなことが起こりますか?何かご意見は? Ubuntu 10.10、RVM、Ruby 1.9.2、Rails 3で動作する

ありがとうございます。

+0

これは新品のアプリですか、既存のアプリですか? –

+0

は新規または既存のアプリケーションに影響します – Harry

+1

システムモニター(Ubuntu)にチェックインされています。 rake db:migrateコマンドで現在テストされています(約50MBのRAMを使用して%100のCPUを使用しています) – Harry

答えて

3

(UNIXの場合)、dtruss(Macの場合)にコマンドを試してみてください(sudoは必要かもしれません)。プロセスがその時間を費やしている場所を表示します。どこで停止するのかを確認します。これは間違いなく正常です。 Railsのコア上でこの程度のスレッドがある

+0

私はRubyインスタンスのプロセスIDを見つけ、straceを使ってチェックしました。プロセスログには多くの待機プロセスがあります。04:26:08.156009 futex(0x58c1c4、FUTEX_WAIT_PRIVATE、1015189、{0,9842003})= -1 ETIMEDOUT(接続タイムアウト) " – Harry

+0

ネットワークIOのため、DBにアクセスしている可能性がありますIPを介して?あなたは適切なDNSリゾルバを持っていますか?すべてのドメイン名をIPアドレスに切り替えるようにしてください。また、 "netstat -a"を実行すると、どこに行きたいのかを知ることができます。 – Zepplock

+0

現在、ローカルホスト上で動作しているRails(開発環境付き) – Harry

7

からhttp://groups.google.com/group/rubyonrails-core/browse_thread/thread/88519ef5a53088a1/c01ba447c6dc0de7?lnk=raot

は、「物事はCコードが1.9でない必要があることがありますイェフダカッツを引用するが、その遅いものダウン その一例です。 ruby​​-coreでアドレス指定されている必要があります。 redmineにチケットがない場合は、そのチケットを開きます。

この問題も発生しており、$ LOAD_PATHの問題が原因と考えられます。すぐに修正されることを望みます。

+0

情報のためにありがとう – Harry

+1

しかし、それは修正がかなり大きな修正であるように見えます、そして、これは1.9.3のために予定されています。 [パフォーマンスバグを要求する](http://redmine.ruby-lang.org/issues/show/3924) –

関連する問題