2010-01-18 30 views
6

Gần đây, đã có rất nhiều bài báo như this one gần đây, mở rộng các đặc tính của Trình tạo tĩnh điện Django khi được sử dụng kết hợp với một máy chủ Web front-end nhẹ. Nó tạo nên rất nhiều ý nghĩa với tôi.Tại sao Máy phát điện Django tĩnh & Nginx cho tôi tốc độ Boss?

Tuy nhiên, tôi không nhận được gì giống như kết quả mà người khác đang báo cáo - hàng nghìn yêu cầu mỗi giây - và tôi không biết tại sao lại như vậy.

Tôi đang sẵn sàng để khởi chạy thiết kế lại trang web của tờ báo. Tôi đã có nó bằng cách sử dụng máy phát điện tĩnh trên một máy chủ thử nghiệm ngay bây giờ. Và khi tôi chạy Apache Bench trên một trang tĩnh đặc biệt, tôi nhận được kết quả khá khổ sở:

ab -c 10 -n 1000 http://journal.streamlister.com/news/

Concurrency Level:  10 
Time taken for tests: 53.011 seconds 
Complete requests:  1000 
Failed requests:  0 
Write errors:   0 
Total transferred:  21281212 bytes 
HTML transferred:  21067360 bytes 
Requests per second: 18.86 [#/sec] (mean) 
Time per request:  530.107 [ms] (mean) 
Time per request:  53.011 [ms] (mean, across all concurrent requests) 
Transfer rate:   392.04 [Kbytes/sec] received 

Tôi đang xem top trên máy chủ trong khi cuộc bao vây được bật, và tôi có thể thấy rằng nó là không đánh Apache hay máy chủ cơ sở dữ liệu chút nào. Vì vậy, trên thực tế, nó đang phục vụ trang được lưu trong bộ nhớ cache. Nginx đang chạy, nhưng nó không bao giờ được sử dụng trên 2% bộ nhớ. CPU vẫn còn khoảng 95 phần trăm nhàn rỗi.

Tôi đang làm gì sai? Tôi có thể bị nginx định cấu hình sai bằng cách nào đó không? Tập tin cấu hình chính của tôi được dán dưới đây; bao gồm cụ thể cho trang web này là khá nhiều bản sao của cấu hình mẫu trên Static Generator home page. Tôi đang chạy Ubuntu 9.10 trên slice Slicehost 256k.

user not_my_real_username; 
worker_processes 4; 
error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 
events { 
    worker_connections 8192; 
} 
http { 
    include  /etc/nginx/mime.types; 
    default_type application/octet-stream; 
    access_log /var/log/nginx/access.log; 
    sendfile  on; 
    #tcp_nopush  on; 
    keepalive_timeout 0; 
    #keepalive_timeout 65; 
    tcp_nodelay  on; 
    gzip on; 
    include /etc/nginx/conf.d/*.conf; 
    include /etc/nginx/sites-enabled/*; 
} 

Trả lời

3

Tôi không phải là chuyên gia trong trường hợp này. Nhưng nếu CPU không hoạt động và bộ nhớ cũng không phải là nút cổ chai thì ổ cứng sẽ xuất hiện trong đầu tôi. Có lẽ nó rất chậm và tốc độ xấu là một gợi ý của một đĩa cứng bị hỏng.

Bạn nên chạy một số điểm chuẩn đơn giản.

1

Bạn đang làm bài kiểm tra từ đâu? Một máy chủ khác trong cùng trung tâm dữ liệu hoặc kết nối internet tại nhà/cơ quan của bạn? Sẽ rất khó để kiểm tra hiệu suất hoạt động của trang web của bạn từ kết nối gia đình của bạn. Đối với một, bạn kết nối internet có thể là quá chậm, và thứ hai, nhiều bộ định tuyến cá nhân không thể xử lý nhiều kết nối đồng thời.

Ngoài ra ... hãy thử chạy điểm chuẩn mà không có hình ảnh.

Các vấn đề liên quan