我有一个平均每天有1000个访问者的低负载网站。 据估计,在6个月左右的时间里,每天的用户就达到了10000人(甚至20K)。 但我仍然认为这是一个低stream量的CMS网站。
所有东西都托pipe在一个8G内存和4核CPU(我可能增加到16G / 8内核)的单个(CentOS VM)服务器上。
目前我们有一个设置为:
Nginx -> Varnish -> HAProxy -> CMS_HTTP_Daemons X 2 -> 1 DB Daemon -> SDD Disk
由于Varnish也可以作为一个简单的循环负载均衡器,我打算从中间去掉HAProxy; 因为在我的情况下,nginx除了proxy_pass之外什么也没有做,我也想从链中删除这个软件来做这样的设置:
Varnish (WebServer+LB+HTTPCache) -> CMS_HTTP_Daemons X 2 -> 1 DB Daemon -> SDD Disk
这是build议还是这似乎是一个好主意?
顺便说一下,我的CMS是Zeo / Plone,数据库是ZopeDB。
另一种方法是在nginx中设置负载平衡/caching,并且只运行nginx和CMS HTTP守护进程。
但是,我不知道nginx / Varnishcaching性能的差异。
我们使用清漆 – > haproxy – > plone和nginx – >清漆 – > haproxy – > plone。
我认为你可以得到清漆来做任何事情,但是我不确定它会给你带来多大的收益。 你将不得不花费时间重新configuration和testing。 这些进程不使用太多的CPU或RAM。 对于重写,我们在CMS中执行,所以nginx不是必需的。
与您的大servlets器,我会运行在4个Zope服务器,可能每个2线程。 如果您真的担心stream量高峰,您可以设置caching,使页面和文件夹caching在清漆1-5分钟。 然后你的设置可以处理很多的负载(假设你没有stream行的表单,embedded的应用程序)。
你看过https://docs.plone.org/manage/deploying/index.html吗?
通常nginx被用来重写URL。 清漆适合caching。 对于低负载的网站HAProxy可能确实没有必要。
考虑在Plone论坛上发布Plone相关的问题。 我已经发布了一个链接到你的问题,在https://community.plone.org/t/stack-overflow-varnish-as-a-simple-forwarding-web-server/4489