ประสิทธิภาพแบบไหนที่ฉันคาดหวังจากการใช้ Raspberry Pi เป็นเว็บเซิร์ฟเวอร์


39

มีใครทำเว็บเซิร์ฟเวอร์เปรียบเทียบกับ Raspi บ้างไหม? ฉันยังไม่มี Raspi ของฉัน แต่ฉันวางแผนที่จะใช้เป็นเว็บเซิร์ฟเวอร์และฉันสนใจที่จะดูสถิติสำหรับ:

  • จำนวนการร้องขอต่อวินาที
  • เวลาตอบสนองความล่าช้าระหว่างคำขอ
  • ปริมาณงาน (เช่นไบต์ต่อวินาที)

หากสิ่งเหล่านี้แตกต่างกันไปสำหรับซอฟต์แวร์เว็บเซิร์ฟเวอร์และระบบปฏิบัติการที่แตกต่างกันฉันก็อยากจะเห็นการเปรียบเทียบ


4
การลงคะแนนให้ปิดได้โปรดอธิบายว่าทำไม นี่เป็นคำถามวัตถุประสงค์พร้อมคำตอบที่วัดได้อย่างมีวัตถุประสงค์
AntonChanning

1
ฉันไม่สามารถตอบอย่างเป็นทางการ แต่ฉันคิดว่าเว็บเซิร์ฟเวอร์ที่เร็วที่สุดโดยทั่วไปนั้นจะเร็วที่สุดใน RPi ความชอบของฉัน Nginx
อเล็กซ์แชมเบอร์เลน

@AlexChamberlain ขอบคุณมีประโยชน์ที่จะรู้ แต่ฉันยังคงสนใจที่จะเห็นชนิดของประสิทธิภาพที่ฉันได้รับจากอุปกรณ์ดังนั้นฉันจึงไม่ได้วางแผนที่จะใช้มันสำหรับโครงการที่เกินความสามารถ ...
AntonChanning

คำตอบ:


28

ฉันคาดหวังว่าอย่างที่ Alex พูดว่ามาตรฐานจะแสดงให้เห็นว่าเว็บเซิร์ฟเวอร์ Linux ที่เร็วที่สุดจะยังคงเร็วที่สุดโดยไม่คำนึงถึงสถาปัตยกรรม

หากใครต้องการเรียกใช้เกณฑ์มาตรฐานการสอนต่อไปนี้มีประโยชน์กับฉัน:

วิธีการวัดประสิทธิภาพบนเว็บเซิร์ฟเวอร์


การแสดงหน้าคงที่

ฉันได้ทำการทดสอบ RPi โดยใช้ Apache ที่ให้บริการหน้าแบบสแตติก

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

ราสเบอร์รี่ 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)

ข้อสรุป

หมายเหตุ:นี่ถือว่าดีที่สุดโดยประมาณ

ผลการวิจัยพบว่าราสเบอร์รี่ Pi ทำการประณามได้ดี มันตอบสนองน้อยกว่าเว็บเซิร์ฟเวอร์หลักของฉันเพียงเล็กน้อยเท่านั้น

ควรจัดการกับคำขอจำนวนมากอย่างมีเหตุผล


อาจเป็นเช่นนั้น แต่ประสิทธิภาพที่สามารถผลิตได้เร็วที่สุดคืออะไร ฉันคิดว่าคุณมีทั้งเข้าใจผิดสิ่งที่ฉันพยายามที่จะถาม ...
AntonChanning

1
ฉันจะทำการวัดประสิทธิภาพของ apache และกลับไปหาคุณ
Jivings

ขอบคุณ ฉันขอโทษถ้าคำถามของฉันไม่ชัดเจน บางทีฉันอาจสับสนกับน้ำที่ขอให้เปรียบเทียบเมื่อสถิติสแตมป์ของหลอดไฟมาตรฐานเป็นความสนใจหลักของฉัน
AntonChanning

1
"A" ในโคมไฟยืนสำหรับเซิร์ฟเวอร์ Apache HTTP ...
โรเจอร์ดาห์ล

1
@Jivings: มันเป็นความคิดเห็นที่มีความหมายสำหรับ OP ในความคิดเห็นเริ่มต้นกับโพสต์ของคุณเขาระบุว่าเขาสนใจที่จะค้นหาประสิทธิภาพของเซิร์ฟเวอร์ http ที่เร็วที่สุดและดูไม่พอใจกับเกณฑ์มาตรฐาน Apache ของคุณ จากนั้นเขาก็ไปขอมาตรฐาน Apache ("A" ใน LAMP) โดยปริยาย
Roger Dahl

5

Apache ไม่ใช่ตัวเลือกที่ดีที่สุดเมื่อแสดงเนื้อหาแบบคงที่ nginx เหมาะสมกว่าสำหรับสิ่งนั้น ฉันทำเกณฑ์มาตรฐานโดยใช้http://lekensteyn.nl/index.htmlเป็นเอกสารทดสอบ มันเป็นเอกสารที่มีขนาดใหญ่กว่าตัวอย่างของ Jiving ตั้งแต่ 19 ไบต์ไม่เป็นจริงสำหรับหน้าจริง ผลลัพธ์ที่ได้นั้นค่อนข้างน่าทึ่ง RPi ก็มีประสิทธิภาพสูงกว่าแล็ปท็อปทำงานของฉัน (อาจเป็นเพราะฉันเปิดใช้งานสวิตช์เคอร์เนลการดีบักทุกชนิด)

นี่คือ nginx 1.4.1 ที่ทำงานบน Arch Linux (RPi access_log off,, wired 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)

นี่คือแล็ปท็อปของฉัน ( 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.