それぞれがどのくらいのリクエストを処理できますか?いくつRAM必要ですか?
FastCGIは初期化されたプロセスで開かれていることを覚えているので、それぞれが1つの要求を処理できます。
マルチスレッドについてはどうですか?
約1年前、MicrosoftはIIS + WCF StockTrader と呼ばれる)のベンチマークを公開しました。厳密にはWebページ指向のベンチマークではありません。とにかく、IISを使用して非常に優れたパフォーマンスを示しました。ワーカープロセス、および.NETコード。
7〜8年前は、Web負荷のベンチマークがよりアクティブでした。しかし、ある時点で、Linux +を使用しているかどうかに関係なく、単一の標準的な大容量Intelサーバー上で、パフォーマンスが非常に優れているように見えました。またはWindows + .NET、あなたは本当に良いパフォーマンスを得るつもりでした。 (妥当なアプリケーション設計を想定しています)。
PHPとFastCGIでは、実際にコメントすることはできません。
また、同じハードウェア上でLinux + Mono + XSPとWindows + .NET + ASPNETを比較した人は誰もいません。
Windows 7のIIS7で実行されているasp.net mvc3ウェブサイトと、cent_6.2でmod_monoとmono 2.11.2を実行している同じサイトの簡単なベンチマークを行いました。これらは両方とも、仮想ハードウェアで実行されている同じハードウェア上の仮想マシンです。実際のマシンはCore i5です。
同じネットワーク上の別のLinuxマシンからApacheベンチを使用する(ab -n 1000 -c 100)
Centos 6.2 (default settings, no other sites running on 8088)
Server Software: Apache/2.2.15
Server Hostname: 192.168.1.208
Server Port: 8088
Document Path: /
Document Length: 24 bytes
Concurrency Level: 100
Time taken for tests: 3.401 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 354000 bytes
HTML transferred: 24000 bytes
Requests per second: 294.01 [#/sec] (mean)
Time per request: 340.124 [ms] (mean)
Time per request: 3.401 [ms] (mean, across all concurrent requests)
Transfer rate: 101.64 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 3 6.4 0 25
Processing: 14 321 71.1 325 483
Waiting: 14 321 71.1 325 483
Total: 39 324 67.8 326 483
Percentage of the requests served within a certain time (ms)
50% 326
66% 344
75% 358
80% 370
90% 408
95% 426
98% 441
99% 445
100% 483 (longest request)
(Again default settings, Windows 7 x64)
Server Software: Microsoft-IIS/7.5
Server Hostname: 192.168.1.115
Server Port: 8088
Document Path: /
Document Length: 27 bytes
Concurrency Level: 100
Time taken for tests: 0.469 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 294783 bytes
HTML transferred: 27351 bytes
Requests per second: 2131.09 [#/sec] (mean)
Time per request: 46.924 [ms] (mean)
Time per request: 0.469 [ms] (mean, across all concurrent requests)
Transfer rate: 613.48 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 4 17 4.6 17 27
Processing: 12 28 6.9 28 61
Waiting: 9 22 6.9 22 55
Total: 24 45 7.0 45 67
Percentage of the requests served within a certain time (ms)
50% 45
66% 48
75% 49
80% 50
90% 52
95% 55
98% 59
99% 62
100% 67 (longest request)
設定などを微調整できると思います。しかし、何か足りないことがない限り、IISはasp.net mvcを実行すると何倍も速くなるようです。
ビュー自体は基本的に空で、1つのWordしかありませんでした。
それは素晴らしいベンチマークではなく、上司に与えるものではありません。 monoはnginxやlighttpdでよりよく表示されると思いますが、今は設定していません。
IISとXSPの両方でasp.net MVCアプリケーションを実行し、IISはパフォーマンスと信頼性の両方でXSPに勝っています。
パフォーマンステストは非常に簡単に実行できますが、XSPは実際には運用環境用に設計されていません。 XSPプロセスが時々クラッシュする原因となるバグを提出しましたが、それらは修正されません(明らかに、深いアーキテクチャの変更がいくつか含まれていました)。最後に、プロセスが終了したときにラップして再起動しただけですが、2つ(XSPとIIS)は非常に異なる獣であることに注意してください。
Windowsを使用している場合は、IISを使用します。 IIS7はそれほど悪くありません。
IIS and nginx:(およびApache、Cherokee、G-WAN、Lighttpd、Ulib)の優れたベンチマークがあります、など)
Linuxの場合:
Windowsの場合:
http://gwan.ch/en_windows.html
PHP、JavaおよびC#を使用):
他の場所で行われたそれほど明確な比較を見たことがありません。テストソースコード(PHP、Java、C#)もここから入手できます。
それが役に立てば幸い。
ここで1つの小さな意見があります。過去数年間、.net C#でIISをIIS6で開始し、IIS7に移行しました。99%IISは.netで非常にうまく機能しました(キャッシング、リクエストの処理など...)
Linuxの方が安く、centosが大好きなので、1つのテスト環境でモノに移行しようとしたところ、パフォーマンスの変化に気づきました。たぶん私は環境をうまく設定する方法を知りませんでした。
今の私の個人的な経験:
PHPでWebサイトを作成したい場合は、Linuxサーバー(Centos6、nginx、php-fpm、mariadb、apc cache)にインストールします。
C#で何かを作成する必要がある場合は、Windows Server 2008にインストールします。これにより、頭痛の種が減り、実現性とサポートが向上します。
Microsoft Serverの唯一の欠点は価格です。小規模な開発者であれば、MSシステムの最小ハードウェア要件はLinuxマシンのハードウェア要件よりもはるかに低くなります。