Linux、FreeBSD、NetBSDのWebサーバーのパフォーマンスの違いに興味があります。NetBSDとFreeBSDには優れたTCP/IP実装があると聞いたからです。
その結果、同じハードウェア機能(2 CPU、RAM:2G、HDD:16G、NIC:virtio)を備えたVMをKVMにセットアップし、Nginxに不可欠なパッケージをそれぞれインストールします。
ramdiskで静的ホームページを使用して単純なNginxを実行しました(ディスクI/O要因を防ぐため)。
NetBSDのパフォーマンスが非常に悪いことがわかりました。 NetBSDの基本設定は保守的だと思うので、いくつかのシステムパラメータを調整しようとしています。ただし、NetBSDシステムのチューニングについて話しているリソースはほとんどありません。 FreeBSDと比較していくつかのsysctlパラメーターを調整しましたが、それでも良くはありません。
NetBSDのチューニングに関するアドバイスはありますか、それともNetBSDはWebサーバーにとって本当に良い選択ではありませんか?
以下は私のApacheベンチマークの結果です:
ab -r -n 10000 -c 500
Server Software: LINUX nginx/1.9.3
Server Hostname: 10.128.81.63
Server Port: 80
Document Path: /
Document Length: 612 bytes
Concurrency Level: 500
Time taken for tests: 0.823 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 8440000 bytes
HTML transferred: 6120000 bytes
Requests per second: 12155.16 [#/sec] (mean)
Time per request: 41.135 [ms] (mean)
Transfer rate: 10018.51 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.5 0 4
Processing: 2 16 78.2 8 817
Waiting: 1 16 78.2 8 817
Total: 6 16 78.4 8 819
------------------------------------------------------------
Server Software: FreeBSD nginx/1.9.3
Server Hostname: 10.128.81.67
Server Port: 80
Document Path: /
Document Length: 612 bytes
Concurrency Level: 500
Time taken for tests: 0.443 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 8440000 bytes
HTML transferred: 6120000 bytes
Requests per second: 22577.85 [#/sec] (mean)
Time per request: 22.146 [ms] (mean)
Transfer rate: 18609.09 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.5 0 3
Processing: 3 21 7.7 21 214
Waiting: 3 21 7.7 21 214
Total: 6 22 7.6 22 217
------------------------------------------------------------
Server Software: NetBSD nginx/1.9.3
Server Hostname: 10.128.81.69
Server Port: 80
Document Path: /
Document Length: 612 bytes
Concurrency Level: 500
Time taken for tests: 1.350 seconds
Complete requests: 10000
Failed requests: 373
(Connect: 0, Receive: 144, Length: 85, Exceptions: 144)
Total transferred: 8318464 bytes
HTML transferred: 6031872 bytes
Requests per second: 7410.05 [#/sec] (mean)
Time per request: 67.476 [ms] (mean)
Transfer rate: 6019.56 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 29 166.9 0 1003
Processing: 1 20 13.9 19 224
Waiting: 0 20 13.9 19 224
Total: 4 49 169.3 20 1212
使用しているKVM-NetBSDではvirtioサポート(AFAIK)がまだかなりパッチが当てられている可能性があることに注意してください。
これは、LinuxとFreeBSD(どちらもvirtioをサポートしています)とNetBSDのパフォーマンスの違いを説明していると思います。