まず第一に、私ができるならLinuxに切り替えるでしょうが、サードパーティの依存関係のためにできません。なぜRubyはWindowsのマシンよりもWindowsのサーバーで遅く動作するのですか?
私は、Windows 2008サーバーにレールアプリケーションを仕上げ、展開するプロセスに入っています。サーバー上でテストしている間、アプリは苦労して遅くなることが証明されており、リクエストはそれぞれ2〜5秒かかる。私の開発マシンではこれが遅いところはどこにもありません。そして、遅さはRails自体の中にあると私が判断できる限り、つまり、私はCompleted 200 OK in 1859ms (Views: 1687.5ms)
のようなログを私の開発マシンのCompleted 200 OK in 347ms (Views: 298.0ms)
と比較してサーバー上に表示しています。
私はRailsがLinux上よりもWindows上の方が遅くなるはずですが、なぜWindows Server上ではWindows 7の開発マシンより遅いのでしょうか?
開発中私はWEBrickを実行していますが、サーバー上ではApacheの下で動作しています。私はまた、私の開発マシン上で薄い実行しようとしているとWEBrickよりも速いです。このような大きな減速や何を見ているのか、誰に何か提案がありますか?何でも大歓迎です。
更新日:サーバー上で劇的に遅いのはRuby自体だと思われます。 IRBに次のように実行すると、私のdevのマシン上ではなく、サーバー上の平均を3秒以上の2番目の0.6をとります。
n = Time.now ; x = 0 ; 10000000.times { x += 1 } ; puts Time.now - n
サーバー上のRubyはそんなに遅く(3倍以上)を実行させることができるもの?それはWindows版かもしれませんか?または、他の何か? Rubyのバージョンはまったく同じです:ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
。
を再度更新:
は、この先には言及していないために愚か感じるが、それはVPSのです。しかし、私はこれを受け入れる意思はあるものの、それを少し遅くする - 現実的な3倍以上遅いですか?
のようなサーバーの負荷がどのようなものですか? RubyはかなりCPUが重いです。すでに負荷が重い場合は、かなり遅くなります。 – AboutRuby
いくつかのサードパーティ製ソフトウェアでベンチマークサーバーと開発を試してみてください。私。 Phoronix。 – Slotos