Raspberry PiをWebサーバーとして使用すると、どのようなパフォーマンスが期待できますか?


39

誰もがいくつか行われたベンチマークWebサーバ自分Raspi上の?私はまだRaspiを持っていませんが、それをWebサーバーとして使用することを計画しています。

  • 1秒あたりのリクエスト数
  • リクエスト間の遅延応答時間
  • スループット(1秒あたりのバイト数)

これらが異なるWebサーバーソフトウェアとOSの組み合わせで異なる場合は、比較を参照してください。


4
終了する投票でその理由を説明してください。これは客観的な質問であり、客観的な測定可能な答えがあります。
アントンチャニング

1
正式に答えることはできませんが、RPiでは一般に最速のWebサーバーが最速になると考えています。私の好み、Nginx。
アレックスチェンバレン

@AlexChamberlainありがとう、知っておくと便利ですが、私はまだデバイスから得られるパフォーマンスの種類を見てみたいので、その能力を超えたプロジェクトでそれを使用する予定はありません...
AntonChanning

回答:


28

Alexが言うように、ベンチマークは、アーキテクチャに関係なく、最速のLinux Webサーバーが依然として最速であることを示していると期待しています。

誰かがベンチマークを実行したい場合は、次のチュートリアルが役に立ちました。

Webサーバーでベンチマークを実行する方法


静的ページの提供

単純な静的ページを提供するApacheを使用してRPiをテストしました。

<h1>It works!</h1>

コントロールグループとして、私はプライマリウェブサーバーを使用しましたが、これは次の仕様を示しています。

Intel(R) Xeon(R) CPU           X3323  @ 2.50GHz
384MB RAM

結果は次のとおりです。

コントロール

ab -n 1000 -c 5 http://www.ivings.org.uk/~james/index.html

Server Software:        Apache/2.2.14
Server Hostname:        www.ivings.org.uk
Server Port:            80

Document Path:          /~james/index.html
Document Length:        19 bytes

Concurrency Level:      5
Time taken for tests:   17.767 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      294000 bytes
HTML transferred:       19000 bytes
Requests per second:    56.29 [#/sec] (mean)
Time per request:       88.833 [ms] (mean)
Time per request:       17.767 [ms] (mean, across all concurrent requests)
Transfer rate:          16.16 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       42   44   0.8     44      50
Processing:    44   45   0.9     45      59
Waiting:       44   45   0.9     45      59
Total:         86   89   1.3     88     108

Percentage of the requests served within a certain time (ms)
  50%     88
  66%     89
  75%     89
  80%     89
  90%     90
  95%     91
  98%     91
  99%     94
 100%    108 (longest request)

ラズベリーパイ

ab -n 1000 -c 5 http://86.137.189.68/index.html

Server Software:        Apache/2.2.22
Server Hostname:        86.137.189.68
Server Port:            80

Document Path:          /index.html
Document Length:        19 bytes

Concurrency Level:      5
Time taken for tests:   23.186 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      304000 bytes
HTML transferred:       19000 bytes
Requests per second:    43.13 [#/sec] (mean)
Time per request:       115.930 [ms] (mean)
Time per request:       23.186 [ms] (mean, across all concurrent requests)
Transfer rate:          12.80 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       40   44   5.6     43     116
Processing:    49   71 156.1     57    2157
Waiting:       47   53   6.7     55     104
Total:         91  116 156.1     99    2198

Percentage of the requests served within a certain time (ms)
  50%     99
  66%    100
  75%    100
  80%    100
  90%    102
  95%    126
  98%    150
  99%    667
 100%   2198 (longest request)

結論

注:これは推定値として最も適切に扱われます。

結果は、Raspberry Piが実際によく考えて実行したことを示しています。プライマリWebサーバーよりもわずかに反応が遅くなりました。

かなり多数のリクエストを適切に処理する必要があります。


そうかもしれませんが、最速のパフォーマンスはどのようなものですか?あなたは両方とも私が尋ねようとしていることを誤解していると思う
...-アントンチャニング

1
Apacheでいくつかのベンチマークを実行し、戻ってきます。
Jivings

ありがとう。私の質問が明確でない場合、私は謝罪します。おそらく、標準のLAMPスタックの実際の統計が主な関心事であったときに、私は比較を求めて水を汚しました。
アントンチャニング

1
LAMPでの「A」は... ApacheのHTTPサーバの略
ロジャー・ダール

1
@Jivings:OP向けのコメントでした。あなたの投稿に対する最初のコメントで、彼は最速のhttpサーバーのパフォーマンスを見つけることに興味があり、Apacheベースのベンチマークに不満があるようだと彼は指摘しました。その後、Apacheベンチマーク(LAMPの「A」)を暗黙的に要求しました。
ロジャーダール

5

静的コンテンツを提供する場合、Apacheは最良の選択ではありません。nginxはそれにより適しています。テスト文書としてhttp://lekensteyn.nl/index.htmlを使用してベンチマークを行いました。19バイトは実際のページでは現実的ではないため、Jivingの例よりも大きなドキュメントです。結果は非常に驚くべきものであり、RPiは私のラップトップよりも優れています(おそらく、あらゆる種類のカーネルデバッグスイッチを有効にしているためです)。

Arch Linux(RPi、、access_log off有線イーサネット)で実行されているnginx 1.4.1は次のとおりです。

$ ab -n 1000 -c 5 http://192.168.2.10/index.html

Server Software:        nginx/1.4.1
Server Hostname:        192.168.2.10
Server Port:            80

Document Path:          /index.html
Document Length:        2159 bytes

Concurrency Level:      5
Time taken for tests:   2.341 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2392000 bytes
HTML transferred:       2159000 bytes
Requests per second:    427.18 [#/sec] (mean)
Time per request:       11.705 [ms] (mean)
Time per request:       2.341 [ms] (mean, across all concurrent requests)
Transfer rate:          997.86 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    1   0.1      1       1
Processing:     4   11   1.0     11      20
Waiting:        3   11   1.0     10      19
Total:          4   12   1.0     12      21

Percentage of the requests served within a certain time (ms)
  50%     12
  66%     12
  75%     12
  80%     12
  90%     12
  95%     12
  98%     17
  99%     18
 100%     21 (longest request)

これは私のラップトップ(access_log off、有線イーサネット):

Server Software:        nginx/1.4.1
Server Hostname:        192.168.2.12
Server Port:            80

Document Path:          /index.html
Document Length:        2159 bytes

Concurrency Level:      5
Time taken for tests:   2.593 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2392000 bytes
HTML transferred:       2159000 bytes
Requests per second:    385.62 [#/sec] (mean)
Time per request:       12.966 [ms] (mean)
Time per request:       2.593 [ms] (mean, across all concurrent requests)
Transfer rate:          900.79 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        2    6   3.4      5      82
Processing:     3    7   5.6      6      86
Waiting:        3    7   5.5      5      82
Total:          6   13   6.8     12      94

Percentage of the requests served within a certain time (ms)
  50%     12
  66%     13
  75%     14
  80%     15
  90%     17
  95%     19
  98%     24
  99%     34
 100%     94 (longest request)

完全を期すために、私のリモートサーバー。WAN接続がボトルネックになる可能性があるため、遅くなります(access_logどちらもオフではありません)。

Server Software:        nginx/1.2.8
Server Hostname:        lekensteyn.nl
Server Port:            80

Document Path:          /index.html
Document Length:        2159 bytes

Concurrency Level:      5
Time taken for tests:   11.074 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      2370000 bytes
HTML transferred:       2159000 bytes
Requests per second:    90.30 [#/sec] (mean)
Time per request:       55.371 [ms] (mean)
Time per request:       11.074 [ms] (mean, across all concurrent requests)
Transfer rate:          209.00 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       25   27   2.3     26      59
Processing:    28   29   2.3     28      59
Waiting:       26   27   2.4     27      59
Total:         53   55   3.8     55     102

Percentage of the requests served within a certain time (ms)
  50%     55
  66%     55
  75%     55
  80%     55
  90%     56
  95%     57
  98%     59
  99%     86
 100%    102 (longest request)

同時実行性が高く、リクエスト数が多い場合、より多くのサンプルを含めることができるため、数値の信頼性が高くなります(ab有線/無線モードでラップトップに対して実行した場合、数値は大きく変動します)。アクセスログを使用してテストする場合、ログディレクトリがSDカード上にある場合、そのファイルシステムバッファが予期しない書き込み遅延を引き起こすことに注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.