2010-11-05 34 views
10

Tôi hiện có một máy chủ với nginx reverse_proxy để apache (cùng một máy chủ) để xử lý yêu cầu php. Tôi tự hỏi nếu tôi thả apache vì vậy tôi muốn chạy nginx/fastcgi để php nếu tôi thấy bất kỳ loại hiệu suất tăng lên. Tôi giả định rằng tôi sẽ làm Apache khá cồng kềnh, nhưng đồng thời tôi cũng không chắc chắn fastcgi/php đáng tin cậy đặc biệt trong tình huống giao thông cao như thế nào.nginx/apache/php vs nginx/php

Trang web của tôi có khoảng 200.000 khách truy cập mỗi tháng, với khoảng 6.000.000 trang thu thập thông tin từ các công cụ tìm kiếm hàng tháng. Con số này đang tăng đều đặn nên tôi đang tìm kiếm các lựa chọn về nước hoa.

Trang web của tôi được tối ưu hóa mã khôn ngoan và không có bộ nhớ đệm (không muốn điều đó), mỗi trang có tối đa 2 truy vấn sql mà không có bất kỳ tham gia nào trên các bảng khác, chỉ mục cũng hoàn hảo.

Trong một năm hoặc lâu hơn, tôi sẽ viết lại mọi thứ để sử dụng ClearSilver cho các mẫu, và sau đó có thể sử dụng python hoặc C++ khác để có hiệu suất cực cao.

Tôi cho rằng tôi ít nhiều đang tìm bất kỳ lời khuyên nào từ bất kỳ ai quen thuộc với nginx/fastcgi và nếu sẵn sàng cung cấp một số điểm chuẩn. Trang web của tôi là một máy chủ với 1 lõi tứ xeon, 8 GB ram, ổ đĩa 150GB velociraptor.

Trả lời

5

nginx chắc chắn sẽ hoạt động nhanh hơn Apache. Tôi không thể nói về fastcgi kể từ khi tôi không bao giờ sử dụng nó với nginx nhưng giải pháp này dường như có ý nghĩa hơn trên một số máy chủ (một cho nội dung tĩnh và một cho fastcgi/PHP).

Nếu bạn đang thực sự nhắm mục tiêu hiệu suất và thậm chí xem xét C/C++ - thì bạn nên thử G-WAN, một máy chủ tất cả trong một cung cấp (rất nhanh) C tập lệnh.

Không chỉ G-WAN có một dấu chân bộ nhớ rất nhỏ (120 KB) nhưng nó có quy mô giống như không có gì khác. Có công việc phía trước bạn nếu bạn di chuyển từ PHP, nhưng bạn có thể bắt đầu với các tác vụ quan trọng về hiệu năng và di chuyển dần dần.

Chúng tôi đã thực hiện bước nhảy và không thể cân nhắc quay lại Apache!

+0

G-WAN trông rất đẹp! Bạn có biết rằng có bao nhiêu kết nối nó có thể xử lý mỗi giây? – Joe

+1

Tôi đã đo G-WAN với 200.000 yêu cầu mỗi giây. Do thực tế rằng động vật là một quá trình 32-bit, có chỗ cho sự tiến bộ khi nó sẽ chạy trong mã 64-bit (tất cả các máy chủ web khác nhanh hơn nhiều khi biên dịch trong 64-bit hơn trong 32-bit). – Frankie

+2

Không phải lúc nào. Apache hoạt động nhanh hơn nhiều so với nginx trên các máy đa lõi lớn trên tải rất đồng thời (các trang động). Nginx là tốt cho tập tin tĩnh hoặc khi chúng tôi sử dụng nó như là proxy. – iddqd

2

Dưới đây là một biểu đồ thể hiện màn trình diễn tương ứng của nginx, apache và g-wan:

g-wan.com/imgs/gwan-lighttpd-nginx-cherokee.png

apache dường như không dẫn dắt gói (và đó là một -Quad XEON @ 3GHz).

+0

Lưu ý rằng biểu đồ này xuất phát trực tiếp từ g-wan, vì vậy có nhiều khả năng ủng hộ g-wan hơn. –

1

Dưới đây là một tiêu chuẩn độc lập cho g-wan vs nginx, véc ni và những người khác http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/

g-wan xử lý nhiều yêu cầu mỗi giây với thời gian CPU ít hơn nhiều.

+0

Làm thế nào để bạn biết nó độc lập? ;) ... chỉ tò mò thôi. – 0xC0000022L

+0

@STATUS_ACCESS_DENIED, g-wan và nginx tác giả đã nhận xét về bài đăng trên blog đó và thậm chí còn đề xuất một số chỉnh sửa cho điểm chuẩn của máy chủ của họ; điều này gợi ý cho tôi rằng điểm chuẩn không hoàn hảo và nó đã được thực hiện khá công bằng. sao chép điểm chuẩn như chi tiết ở đầu bài viết đó và cho chúng tôi biết những gì bạn nhận được, độc lập;), g-wan bây giờ yêu cầu quản lý bộ nhớ tốt hơn nginx, tiêu thụ bộ nhớ ít nhất là tất cả máy chủ web khác trong điểm chuẩn. – Soroush

+0

Đủ công bằng. +1 – 0xC0000022L

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