Tôi có thể mong đợi loại hiệu suất nào khi sử dụng Raspberry Pi làm máy chủ web?


39

Có ai đã thực hiện một số điểm chuẩn máy chủ web trên Raspi của họ? Tôi chưa có Raspi nhưng tôi dự định sử dụng nó làm máy chủ web và tôi muốn xem số liệu thống kê về:

  • Số lượng yêu cầu mỗi giây
  • Thời gian đáp ứng trễ giữa các yêu cầu
  • Thông lượng (tức là byte mỗi giây)

Nếu các giá trị này khác nhau đối với các phần mềm máy chủ web và các kết hợp hệ điều hành khác nhau, tôi cũng muốn xem so sánh.


4
Có thể bỏ phiếu để giải thích tại sao? Đây là một câu hỏi khách quan với một câu trả lời khách quan có thể đo lường được.
AntonChanning

1
Tôi không thể trả lời một cách có thẩm quyền, nhưng tôi cho rằng các máy chủ web nhanh nhất nói chung sẽ là nhanh nhất trên RPi. Sở thích của tôi, Nginx.
Alex Chamberlain

@AlexChamberlain Cảm ơn, rất hữu ích khi biết, nhưng tôi vẫn thích xem loại hiệu suất tôi có thể nhận được từ thiết bị nên tôi không có kế hoạch sử dụng nó cho một dự án vượt quá khả năng của nó ...
AntonChanning

Câu trả lời:


28

Tôi hy vọng rằng, như Alex nói, các điểm chuẩn sẽ cho thấy rằng các máy chủ web Linux nhanh nhất vẫn sẽ là nhanh nhất, bất kể kiến ​​trúc.

Nếu bất cứ ai muốn chạy điểm chuẩn thì hướng dẫn sau đây rất hữu ích với tôi:

Cách thực hiện điểm chuẩn trên máy chủ web


Phục vụ các trang tĩnh

Tôi đã thử nghiệm RPi bằng cách sử dụng Apache phục vụ một trang tĩnh đơn giản:

<h1>It works!</h1>

Là một nhóm kiểm soát, tôi đã sử dụng máy chủ web chính của mình để cung cấp thông số kỹ thuật sau;

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

Kết quả như sau:

Điều khiển

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)

Quả mâm xôi

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)

Phần kết luận

Lưu ý: Điều này được coi là tốt nhất như một ước tính.

Kết quả cho thấy Raspberry Pi thực sự đã thực hiện rất tốt khi xem xét. Nó chỉ đáp ứng ít hơn một chút so với máy chủ web chính của tôi.

Nó sẽ được xử lý tốt một số lượng lớn các yêu cầu hợp lý.


Đó có thể là như vậy, nhưng loại hiệu suất nào có thể tạo ra nhanh nhất? Tôi nghĩ rằng cả hai bạn đã hiểu nhầm những gì tôi đang cố gắng hỏi ...
AntonChanning

1
Tôi sẽ thực hiện một số điểm chuẩn trên apache và lấy lại cho bạn.
Jivings

Cảm ơn. Tôi xin lỗi nếu câu hỏi của tôi không rõ ràng. Có lẽ tôi đã làm vấy bẩn nước yêu cầu so sánh, khi thực sự số liệu thống kê cho một ngăn xếp LAMP tiêu chuẩn là mối quan tâm chính của tôi.
AntonChanning

1
Chữ "A" trong LAMP là viết tắt của máy chủ HTTP Apache ...
Roger Dahl

1
@Jivings: Đó là một bình luận dành cho OP. Trong nhận xét ban đầu cho bài đăng của bạn, anh ấy chỉ ra rằng anh ấy quan tâm đến việc tìm kiếm hiệu suất của máy chủ http nhanh nhất và có vẻ không hài lòng với điểm chuẩn dựa trên Apache của bạn. Sau đó, anh tiếp tục yêu cầu một tiêu chuẩn Apache ("A" trong LAMP).
Roger Dahl

5

Apache không phải là lựa chọn tốt nhất khi phục vụ nội dung tĩnh, nginx phù hợp hơn cho điều đó. Tôi đã làm một điểm chuẩn bằng cách sử dụng http://lekensteyn.nl/index.html làm tài liệu thử nghiệm. Đó là một tài liệu lớn hơn ví dụ của Jiving vì 19 byte không thực tế đối với một trang thực tế. Kết quả khá tuyệt vời, RPi thậm chí còn vượt trội hơn so với máy tính xách tay công việc của tôi (có thể vì tôi đã bật tất cả các loại công tắc gỡ lỗi kernel).

Đây là nginx 1.4.1 chạy trên Arch Linux (RPi, access_log offethernet có dây):

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

Đây là máy tính xách tay của tôi ( access_log off, ethernet có dây):

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)

Để hoàn thiện, máy chủ từ xa của tôi. Nó chậm hơn với kết nối WAN là nút cổ chai có khả năng ( access_logcũng không tắt):

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)

Với số lượng đồng thời nhiều hơn và số lượng yêu cầu cao hơn, các con số sẽ đáng tin cậy hơn vì có thể bao gồm nhiều mẫu hơn (khi tôi chạy abvới máy tính xách tay của tôi ở chế độ dây / không dây, số của nó dao động rất cao). Lưu ý rằng khi kiểm tra với nhật ký truy cập trên, bộ đệm hệ thống tệp đó gây ra sự chậm trễ ghi không thể đoán trước khi thư mục nhật ký nằm trên thẻ SD.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.