2

最近、かなり大量の Rails API (ピーク時で 1 秒あたり 5,000 リクエスト) の作業を任されています。

これまでは、コーディング作業のほとんどを Java アプリケーションに費やしてきました。Ruby/Rails の世界は初めてです。

自宅では、Ruby/Rails の最新バージョンを使用していくつかの小さなアプリケーションを開発し、言語とフレームワークの感触をつかんでいます。

作業中の Rails アプリケーションは Ruby 1.8.7 と Rails 2.3.16 で構築されていますが、私にはかなり古いように見え、自宅で使用している現在のバージョンと比較して、かなりの数の構文と新機能が欠けています。ruby と rails の新しいバージョンの方が好きです。

新しい/最新バージョンにアップグレードしたいということをチームに伝えましたが、Ruby の新しいバージョンは「実稼働」の準備ができていないと言われました。悲しいことに、私は Ruby の経験が浅いため、これに異議を唱えることはできません。

Ruby/Rails の新しいバージョンで同等またはそれ以上のパフォーマンスを示す良い記事/指標はありますか? 個人的には、言語/フレームワークの新しいイテレーションの方がパフォーマンスが向上することを期待しています。

4

4 に答える 4

4

あなたのチームが代わりにおそらく意味したのはこれでした:

私が選んだLinuxディストリビューションはまだRuby1.8.7(運が悪ければ1.8.6)を出荷しています。まだ更新されていないので、まだ安定していないと思いますが、確かなデータはありません。

ただし、Linuxディストリビューションの変更は非常に遅く、すべてのソフトウェアが新しい言語バージョンで正しく動作するように更新されていることを確認するのはかなり困難です。

とは言うものの、Ruby1.8はかなり早く寿命を迎えようとしています。現在、セキュリティアップデートのみを受信し、他のバグ修正は受信していません。2013年7月には、完全にサポートされなくなります。これだけで、アプリをすぐにアップグレードするのに十分な理由になるはずです。

パフォーマンスの質問について:Ruby 1.9.3は、ほとんどのワークロードでRuby1.8.7よりも高速であると見なされています。Ruby 2.0は1.9.3より少し速いと考えられていますが、1.8.7から1.9への変更よりは遅いです。とはいえ、一般的なパフォーマンスのアドバイスは難しいです。これらのステートメントがアプリに当てはまるかどうかを自分で確認する必要があります。

于 2013-03-21T12:17:48.877 に答える
3

これらはあなたを助けることができます

http://nerds.airbnb.com/upgrading-from-ree-187-to-ruby-193

http://blog.pothoven.net/2012/10/ruby-187-vs-193-performance.html

http://pulse.sportngin.com/news_article/show/156863?referrer_id=543230

ruby 2 のパフォーマンスはさらに優れていることに注意してください。

于 2013-03-21T12:08:26.340 に答える
1

あなたが何を求めているのかははっきりしていません。パフォーマンスから始めて、「本番対応」に切り替えてから、パフォーマンスに戻ります。パフォーマンスについて 2 回質問されたので、その意味だと思います。

Ruby のバージョンによるパフォーマンスの違いはありません。そうでないと主張する人もいますが、Ruby バージョンがパフォーマンスに与える影響を実際に示すベンチマークはありません。

パフォーマンスに大きな影響を与えるのは、使用している Ruby 実装と実装のバージョン、およびそれを実行している環境です。たとえば、JRuby は MRI よりも高速であり、JRuby 1.7 は JRuby 1.6 よりも高速です。 、HotSpot で実行されている JRuby 1.7 は、J9 で実行されている JRuby 1.7 よりも高速です。HotSpot 1.7 で実行されている JRuby 1.7 は、HotSpot 1.6 で実行されている JRuby 1.7 よりも高速です。HotSpot 1.7 で C2 コンパイラを使用して実行されている JRuby 1.7 は、HotSpot 1.7 で実行されている JRuby 1.7 よりも高速です。 C1コンパイラなどで。

于 2013-03-21T13:21:55.190 に答える
0

このに従って、Ruby 1.8.7 のサポートは 2013 年 6 月以降完全に廃止されます。

したがって、Ruby 1.9+ および Rails 3+ にアップグレードすることをお勧めします。Rails 2 から Rails 3+ に移行する方法については、この素晴らしい投稿をご覧ください。

Rails の現在のリリースでは古いですが、Rails 2 アプリを使用しているため、この投稿は Rails 2 アプリと Rails 3+ アプリの違いを見つけるのに役立ちます。

Rails 3 へのアップグレード方法、Rails 3 および Rails 4 で導入された変更点に関するすばらしいスクリーンキャストについては、Railscastsもチェックしてください。

于 2013-03-22T08:59:09.857 に答える