TorqueBoxRubyアプリケーションプラットフォームはRubyEnterpriseEditionで動作しますか?もしそうなら、TorqueBoxで使用したときにREEとRuby 1.9.xの間に顕著な違いはありますか?
3 に答える
Torquebox は、JRuby プラットフォームでのみアプリケーションを実行します。1.8 または 1.9 モードでさまざまなアプリを実行できますが、C 拡張に依存する一部の gem はサポートされていません。
TorqueBox のドキュメントによると、デフォルトの構成は JRuby 用です。そうは言っても、それはオープンソースであり、それに応じたリソースは REE インタープリターまたは 1.9.x 標準インタープリターを使用するように変更される可能性が最も高いですが、JRuby の最新バージョンは 1.9.2 に準拠しており、一般的に長期間使用するとパフォーマンスが向上します。実行時間の。
JRuby を採用したデフォルト設定を使用することをお勧めします。
私が REE を使用した唯一の理由は、コピー オン ライトが使いやすく、メモリ コストを抑えて子プロセスを fork できるようにするためでした。
TorqueBox が (特定の依存関係のために) JRuby に限定されていることを除けば、プロセスではなくスレッドを使用してスケーリングするプラットフォームです。Ruby 1.8 (および 1.8 の REE) はグリーン スレッドを使用しており、推奨されていません。Ruby 1.9 では、ネイティブ スレッドでこれが改善されていますが、グローバル インタープリター ロック (GIL) がまだ存在するため、ほとんどの場合、まだあまり効率的ではありません (効率が改善される場合もあります)。
しかし、GIL を持たない JRuby または Rubinius のいずれかを使用すると、真のスレッド化が可能になります。これにより、長期的には、より効率的なメモリ使用、より優れたガベージ コレクションが可能になり、通常は新しいプロセスをスピンアップするスレッドを使用できるようになります。 .
TorqueBox のドキュメントを読むと、Ruby アプリケーションをデプロイするための驚くほど強力なオールインワン プラットフォームのように思えます。JRuby の下で試してみる価値は間違いなくあります。