Varnish như một máy chủ web chuyển tiếp đơn giản


0

Tôi có một trang web tải thấp có trung bình 1000 khách truy cập mỗi ngày. Ước tính có thể đạt tới 10.000 (hoặc thậm chí 20 nghìn) người dùng hàng ngày trong 6 tháng hoặc lâu hơn. Nhưng tôi vẫn coi đó là một trang web CMS lưu lượng truy cập thấp.

Mọi thứ được lưu trữ trên một máy chủ (CentOS VM) gồm 8 gig ram và CPU 4 nhân (mà tôi có thể tăng lên 16G / 8 lõi).

Hiện tại chúng tôi có một thiết lập như:

Nginx -> Varnish -> HAProxy -> CMS_HTTP_Daemons X 2 -> 1 DB Daemon -> SDD Disk

Vì Varnish cũng có thể hoạt động như một bộ cân bằng tải vòng tròn đơn giản, tôi dự định loại bỏ HAProxy từ giữa; và vì trong kịch bản đã cho của tôi, nginx không làm gì khác ngoài proxy_pass, tôi cũng đang suy nghĩ loại bỏ phần mềm này khỏi chuỗi để thực hiện thiết lập như sau:

Varnish (WebServer+LB+HTTPCache) -> CMS_HTTP_Daemons X 2 -> 1 DB Daemon -> SDD Disk

Nó được đề nghị hay đây có vẻ là một ý tưởng tốt?

Nhân tiện, CMS của tôi là Zeo / Plone và cơ sở dữ liệu là ZopeDB.

Câu trả lời:


1

Một cách khác là thiết lập cân bằng tải / bộ nhớ đệm trong nginx và chỉ có các trình tiện ích nginx và CMS HTTP đang chạy.

Tuy nhiên, tôi không biết về sự khác biệt trong hiệu suất bộ nhớ đệm nginx / Varnish.


Cảm ơn về đề xuất này, tôi đã xem xét nó nhưng bộ nhớ đệm Varnish siêu nhanh chỉ sử dụng RAM (không liên tục) - và tôi muốn giữ nó.
hB0

1

Chúng tôi sử dụng cả vecni -> haproxy -> plone và nginx -> vecni -> haproxy -> plone.

Tôi nghĩ bạn có thể lấy véc ni để làm mọi thứ, nhưng tôi không chắc nó mua cho bạn nhiều. Bạn sẽ phải dành thời gian cấu hình lại và thử nghiệm. Những quá trình đó không sử dụng nhiều CPU hoặc RAM. Để viết lại, chúng tôi thực hiện nó trong CMS, vì vậy nginx không cần thiết cho điều đó.

Với máy chủ kích thước của bạn, tôi sẽ chạy ở 4 máy chủ zope, có thể có 2 luồng mỗi. Nếu bạn thực sự lo lắng về lưu lượng truy cập tăng đột biến, bạn có thể đặt bộ đệm để các trang và thư mục được lưu trong bộ nhớ cache trong 1-5 phút. Sau đó, thiết lập của bạn có thể xử lý RẤT NHIỀU tải (giả sử bạn không có các biểu mẫu phổ biến, ứng dụng được nhúng trong đó).


Tôi quyết định theo chiến lược bit tương tự như của bạn. nginx -> véc ni -> plone (zope client) * X procs * 2 luồng trên mỗi tiến trình -> zope db (daemon) -> db-filesystem. - Mặc dù tôi không nhận được câu trả lời cho (các) câu hỏi của mình nhưng các đề xuất của bạn gần hơn bất kỳ câu trả lời nào khác nên tôi cung cấp cho nó một cờ hữu ích nhưng không được đánh dấu là câu trả lời.
hB0

0

Bạn đã xem https://docs.plone.org/manage/deploying/index.html chưa?

Thông thường nginx được sử dụng để viết lại URL. Varnish là tốt cho bộ nhớ đệm. Đối với các trang web tải thấp, HAProxy có thể không thực sự cần thiết.

Xem xét việc đăng câu hỏi liên quan đến Plone trong diễn đàn Plone. Tôi đã đăng một liên kết đến câu hỏi của bạn ở đó, tại https://community.plone.org/t/stack-overflow-varnish-as-a-simple-forwarding-web-server/4361


Cảm ơn cho bài viết chéo. Vì chúng tôi không cần viết lại URL rõ ràng (tôi cho rằng việc thêm IPAddr / websitename cũng có thể đạt được thông qua Varnish) và không phải bất kỳ tính năng nào khác bởi nginx đó là lý do tại sao tôi nghĩ có thể xóa nó. Tôi (có thể) tham khảo tài liệu thiết lập dựa trên nền tảng này docs.plone.org/4/en/manage/deploying/stack.html
hB0

Thêm vào đó, tôi không xem xét việc cụ thể này để thay thế mà là véc ni ..
hB0
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.