JRuby 1.6.7(1.9.2モード)を使用して実行しようとしているRails3.2.2アプリケーションがあります。
サンプルアプリをMRIruby1.9.3で実行していますが、通常のリクエストは約40ミリ秒で返されます:36ミリ秒で200 OKを完了しました(ビュー:27.5ミリ秒| ActiveRecord:8.2ミリ秒)
JRubyでは、同じリクエストを使用すると、ページによって3〜20倍遅くなります。上記と同じ操作の場合、約180msかかります:180msで200 OKを完了しました(ビュー:153.0ms | ActiveRecord:24.0ms)
これは通常のパフォーマンスの違いですか?JRubyの速度はMRIとほぼ同じだと読んだことがあります。結果は私のMacとWindowsサーバーで保持されます(残念ながら実行する必要があります)。Tomcatで実行されているWarblerでパッケージ化するのも同じくらい遅いです。
上記の時間は、JRubyをテストするために作成された基本的なRailsアプリからのものです。より複雑なアプリでは、時間はさらに離れています。そのアプリでは、いくつかのページで実行されているより多くのルビーコードがあります。ページがルビーに依存しているほど、私が観察しているパフォーマンスの違いが大きくなるようです。どこから始めればいいのかわからないので、JRubyのチューニングはしていません。
だから私の質問は:これは正常ですか?JRubyを調整するにはどうすればよいですか?