Ahududu Pi'yi web sunucusu olarak kullanmaktan ne tür bir performans bekleyebilirim?


39

Herkes bazı çıkarmış benchmarking web sunucusu kendi Raspi üzerinde? Raspi'im henüz yok, ancak bir web sunucusu olarak kullanmayı planlıyorum ve istatistikleri görmek istiyorum:

  • Saniyedeki istek sayısı
  • İstekler arasında gecikme süresi
  • Verim (yani saniye başına bayt)

Bunlar farklı web sunucusu yazılımı ve işletim sistemi kombinasyonları için farklıysa, karşılaştırmayı da görmek isterim.


4
Kapatılacak oylama nedenini açıklayabilir mi? Bu objektif ölçülebilir bir cevap ile objektif bir sorudur.
AntonChanning,

1
Otoriter olarak cevap veremem, ancak genel olarak en hızlı web sunucularının RPI'da en hızlı olacağını tahmin ediyorum. Tercihim, Nginx.
Alex Chamberlain,

@AlexChamberlain Bilmek için yararlı, ancak cihazdan alabileceğim performans türünü görmekle ilgilenmeye devam ediyorum, bu yüzden onu yeteneklerinin ötesinde bir proje için kullanmayı planlamıyorum ...
AntonChanning

Yanıtlar:


28

Alex'in dediği gibi, kıyaslamaların mimariden bağımsız olarak en hızlı Linux web sunucularının en hızlı olacağını göstereceğini umuyorum.

Eğer herhangi biri kıyaslama yapmak isterse, aşağıdaki eğitici benim için yararlı oldu:

Web sunucusunda karşılaştırmalar nasıl yapılır


Statik Sayfalara Hizmet Verme

RPI'yi Apache kullanarak basit bir statik sayfa sunarken test ettim:

<h1>It works!</h1>

Bir kontrol grubu olarak, aşağıdaki özellikleri gösteren birincil web sunucumu kullandım;

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

Sonuçlar aşağıdaki gibidir:

Kontrol

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)

Ahududu Pi

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)

Sonuç

Not: Bu en iyi bir tahmin olarak kabul edilir.

Sonuçlar Ahududu Pi'nin gerçekten çok iyi düşünülmüş olduğunu gösterdi. Birincil web sunucumdan sadece biraz daha az duyarlıydı.

Oldukça fazla sayıda talebin yerine getirilmesi iyi olmalı.


Öyle olabilir, ama en hızlı ne tür performans gösterebilir? Sanırım
ikinize

1
Apache'de bazı testler yapacağım ve size geri döneceğim.
Jivings,

Teşekkürler. Sorum açık değilse özür dilerim. Belki de standart bir LAMP yığınının istatistiğinin asıl ilgi alanı olduğumda karşılaştırma isteyen suyu karıştırdım.
AntonChanning,

1
LAMP'taki "A", Apache HTTP sunucusunu temsil ediyor ...
Roger Dahl

1
@Jivings: OP için yapılmış bir yorumdu. Yayınınıza yaptığınız ilk yorumda, en hızlı http sunucusunun performansını bulmakla ilgilendiğini ve Apache tabanlı karşılaştırmanızdan memnun olmadığını belirtti. Ardından örtük olarak bir Apache testi (LAMP'deki "A") sormaya devam etti.
Roger Dahl

5

Apache statik içerik sunarken en iyi seçenek değildir, nginx bunun için daha uygundur. Test dokümanı olarak http://lekensteyn.nl/index.html kullanarak bir kıyaslama yaptım . Jiving'in örneğinden daha büyük bir belgedir, çünkü 19 byte, gerçek bir sayfa için gerçekçi değildir. Sonuçlar oldukça şaşırtıcı, RPI çalışma dizüstü bilgisayarımdan bile daha iyi performans gösteriyor (belki de her tür çekirdek hata ayıklama anahtarının etkin olması nedeniyle).

İşte Arch Linux üzerinde çalışan nginx 1.4.1 (RPi access_log off,, kablolu ethernet):

$ 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)

Bu benim dizüstü bilgisayarım ( access_log off, kablolu ethernet):

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)

Tamamlanması için uzak sunucum. WAN bağlantısının olası tıkanıklık olması nedeniyle yavaştır ( access_logya da kapalı değildir):

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)

Daha fazla eşzamanlılık ve daha yüksek istekler sayılırken, daha fazla örnek dahil edilebildiğinden rakamlar daha güvenilir olmalıdır ( abkabloları / kablosuz modda dizüstü bilgisayarıma koyduğumda, sayıları oldukça dalgalanmıştır). Erişim günlüğü açıkken sınarken, dosya dizini arabelleklerinin, günlük dizini SD karttayken tahmin edilemeyen yazma gecikmelerine neden olduğunu unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.