IISと.NETをチェロキーとモノラルと比較したパフォーマンスの数値はありますか?


8

開発サーバーをセットアップしていますが、Monoを使用してASP.NETページを提供するようにセットアップしたいと考えています。私はチェロキーとモノ(http://www.cherokee-project.com/doc/cookbook_mono.html)の使用を計画しており、誰かがUnixベースのスタックとWindowsベースのスタックを比較してパフォーマンステストを行ったかどうか疑問に思いました。


私は結局SuseGallery [1]に行き、Monoを簡単に検索したところ、希望どおりに設定されているJEOS Mono ASP.net [2]を見つけました。VirtualBoxを使用したWindowsでのASP.netの移行トライアルの使用を開始しました。Apacheを起動してポート転送を設定するだけで済みました。[1]:susegallery.com [2]:susegallery.com/a/0uPadf/jeos-mono-aspnet
Larry Smithmier、

回答:


7

Mono / Linuxと.NET / Windowsのワークロードをテストするときは、ランタイム環境だけでなく、それ以外にもさまざまな機能があることを覚えておく必要があります。

LinuxのパフォーマンスがWindowsよりも優れている領域があります(ほとんどのIOおよびネットワーク操作は、同等のCプログラムの方が高速になる傾向があります)。同時に、.NETには、より高度なガベージコレクタとより高度なJITコンパイラがあります。

クラスライブラリに関しては、実際に使用しているコードパスによって異なります。JacksonHが以前の投稿で述べたように、1つの実装では最適化されているが、他の実装では最適化されていないコードパスをヒットすることができます。

ASP.NETワークロードでは、デフォルトのセットアップではすべての受信リクエストが単一の「ワーカー」プロセスにルーティングされ、mod_monoとチェロキーは同様のアプローチを使用することを覚えておく必要があります。

多くのHTTPサーバーから1つのmod-mono-server
(ソース:mono-project.com

少なくともApacheでは、アプリケーションのワークロードを複数のワーカーに分割できるメカニズムをサポートしています。これにより、インプロセスロックが回避され、各ワーカーにスレッドプール全体が提供されるため、高負荷時に役立ちます。

mod_monoを使用してリクエストを別のASP.NETホストにルーティングする
(ソース:mono-project.com
このセットアップの構成方法の詳細は、次の場所にあります。

http://mono-project.com/Mod_mono


7

これはちょっと答えがありません。しかし、ここで本当の答えはありません。残念ながら、これはアプリケーションに大きく依存します。あなたのアプリは、Monoがたまたまうまく行っている何かにぶつかるか、不十分に実装されているか、いくつかのバグがあるものを多用している可能性があります。これは、MonoがIISのX倍の速度で動作することはありません。

私の提案は、アプリを取得して、2つの異なるEC2インスタンス(1つはWindows、もう1つはMono)にデプロイし、そこでテストを行うことです。Monoインスタンスで重大な問題を見つけた場合は、報告してください。改善に努めます。

とはいえ、個人的な経験から、Mono aspxは非常に優れたパフォーマンスを発揮することがわかります。


セカンド-私はApache + mod_monoを使用しており、開始すると非常にうまく機能します。遅いのは最初のページの読み込み時だけですが、これはほとんどすべての場合(Railsなど)に共通しています。
BR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.