2008-09-24 38 views
8

Tôi biết đây không phải là câu hỏi lập trình trực tiếp, nhưng mọi người trên stackoverflow dường như có thể trả lời bất kỳ câu hỏi nào.câu hỏi thiết lập nginx

Tôi có một máy chủ đang chạy Centos 5.2 64 bit. Máy chủ lõi kép 2 mạnh mẽ với bộ nhớ 4GB. Nó chủ yếu phục vụ các tập tin tĩnh, flash và hình ảnh. Khi tôi sử dụng lighttpd nó dễ dàng phục vụ hơn 80 MB/giây, nhưng khi tôi kiểm tra với nginx nó giảm xuống dưới 20 MB/giây.

Thiết lập của tôi là khá thẳng về phía trước, sử dụng các tập tin cài đặt mặc định, và tôi đã thêm sau

user lighttpd; 
worker_processes 8; 
worker_rlimit_nofile 206011; 
#worker_rlimit_nofile 110240; 

error_log /var/log/nginx/error.log; 
#error_log /var/log/nginx/error.log notice; 
#error_log /var/log/nginx/error.log info; 

pid  /var/run/nginx.pid; 


events { 
    worker_connections 4096; 
} 

http { 
.... 

keepalive_timeout 2; 
.... 
} 

Và tôi nghĩ nginx được nghĩa vụ phải được ít nhất là mạnh mẽ, vì vậy tôi phải không làm điều gì đó .

+0

Cấu hình lighttpd của bạn trông như thế nào? Có thể thú vị để so sánh. Ngoài ra, kể từ lighttpd là đơn luồng nhưng bạn đang ở trên lõi kép - bạn có bắt đầu hai lighttpds hoặc làm bạn xử lý 80mb/s với một trường hợp duy nhất? – Till

+0

Bạn có thể phác thảo phương pháp thử nghiệm của mình không? Điều đó có thể hữu ích. –

+0

Đây là một máy chủ web cực kỳ tích cực chỉ thực hiện các tệp tĩnh. Các lighttpd và nginx được cài đặt với yum trên centos 5 hộp. Khá thẳng về phía trước từ đó. Tất cả đều được theo dõi với munin và các phiên hoạt động trên cân bằng tải. Hộp với nginx làm 50% những gì nhẹ nhàng –

Trả lời

3

Có lẽ lighttpd đang sử dụng một số loại bộ nhớ đệm? Có một bài viết tuyệt vời here mô tả cách thiết lập memcached với nginx cho một báo cáo tăng hiệu suất 400%.

Tài liệu nginx trên mô-đun memcached là here.

6

Khi bạn tải lại nginx của bạn (kiil-HUP) bạn sẽ nhận được một cái gì đó như thế này trong các bản ghi lỗi của bạn

 
2008/10/01 03:57:26 [notice] 4563#0: signal 1 (SIGHUP) received, reconfiguring 
2008/10/01 03:57:26 [notice] 4563#0: reconfiguring 
2008/10/01 03:57:26 [notice] 4563#0: using the "epoll" event method 
2008/10/01 03:57:26 [notice] 4563#0: start worker processes 
2008/10/01 03:57:26 [notice] 4563#0: start worker process 3870 

Phương thức sự kiện là gì nginx bạn biên soạn để sử dụng không?

Bạn có đang thực hiện bất kỳ access_log'ing nào không? Xem xét việc thêm bộ đệm = 32k, điều này sẽ làm giảm sự tranh chấp trên khóa ghi cho tệp nhật ký.

Cân nhắc giảm số lượng nhân viên, âm thanh phản trực giác, nhưng người lao động cần phải đồng bộ hóa với nhau cho các cuộc gọi sys như accept(). Thử giảm số lượng công nhân, lý tưởng tôi sẽ đề nghị 1.

Bạn có thể thử một cách rõ ràng thiết lập đọc và viết bộ đệm ổ cắm trên ổ cắm nghe, thấy http://wiki.codemongers.com/NginxHttpCoreModule#listen

1

Gợi ý: - Sử dụng 1 nhân viên mỗi bộ xử lý. - Kiểm tra các cài đặt bộ đệm nginx khác nhau