我正在设置一个Debian服务器,使用Mysql来提供Magento。 预计会有高负荷(每天点击数百万次)。 我一直在阅读不同的人的意见,发现了很多不同的设置,但我不知道如果我想要做什么。 多个服务器之间的负载平衡当然是好的,但我只有一个服务器。 那么这个怎么样?
在nginx和apache之前进行清漆,其中nginx只做静态数据和apachedynamic。
或者将清漆放在阿帕奇面前会更好? 所以nginx是在前面,有静态数据直接服务nginx和dynamicapache页面通过清漆?
我想不出有什么理由(除了故意的错误configuration),这将使你的build议设置A.比你提出的build议更好或更差B.
你有一个特定的问题,你希望通过把清漆放在Apache面前解决? 或者在nginx前面清漆?
如果你不这样做,你就成了货物邪教系统pipe理的牺牲品:
“这个人很成功,他在nginx和Apache之前使用了Varnish,所以如果我在nginx和Apache之前使用Varnish,我也会成功的。
stream量很less到达,所以你没有时间计划如何处理。 你有没有一个能够推动这么多stream量的计划(比如,斯蒂芬·弗莱已经答应他会在你的网站上马上发布推特信息),还是你非常乐观? 如果没有,只需要在线和工作的东西。 不成熟的优化是万恶之源。 一旦您知道您的stream量是什么样子以及您的瓶颈在哪里,您将有足够的时间优化网站。
简单通常更好 。 如果你可以抛弃你提到的三种不同的networking服务软件中的一种或两种,你可能会发现服务器上的CPU使用率和内存使用率显着降低。 也许CPU和内存的使用是你的瓶颈。
有些事情可能会影响到你能够处理多lessstream量
TL;博士
不要担心交通,直到你有一些。
首先,我完全同意Ladadadada的回答,
你不应该优化,因为你可以获得更多的stream量。 优化,当你需要优化,即当你现在遇到交通高峰,或当你definitley知道,将有巨大的交通高峰(如营销行动)。
最重要的是:分析你的系统! 在你的优化之前(以及之后)做基准testing。 您必须知道,您的瓶颈究竟是什么以及要优化什么。
而现在,Magento的具体部分… 🙂
虽然如果我坚持Ladadadada的意见,你不应该只遵循一个(nother)货物崇拜我build议安装清漆。
为什么? 因为没有优化,标准的Magento安装不是很快。 好吧,它往往是缓慢的国王。
怎么办,加快Magento:
为了高效地使用Varnish,你必须调整Magento,以便完整的页面可以被caching,dynamic部分(例如cart小部件)将被客户端浏览器(使用JavaScript)另外加载。
还有一个模块可用于: http : //www.magentocommerce.com/magento-connect/pagecache-powered-by-varnish.html
不过,如果您计划大幅增加stream量,我还build议您至less再添加2台服务器。
仅使用一台服务器就是…嗯 – 我能想到的完美SPOF(单点故障)。 :)使用多个服务器不仅仅是负载平衡和缩放。 这是关于高可用性。 如果您的单个服务器无法处理stream量/负载,会发生什么情况? 是的,它会下降,你的店铺离线,大量的新客户将无法看到你的好产品 – 事实上,他们会看到一些丑陋的错误消息。 所以基本上,…你会很拧。
在优化单台服务器以获得最佳性能之前,您应该计划并设置故障切换策略。
也许只有两台服务器? 他们每个人都有一个Web应用程序堆栈和数据库? 或三个服务器,…两个Web应用程序节点和一个专用的数据库服务器? 最好是4,…两个webapp节点和2个数据库节点。
不pipe它看起来如何,但是你必须消除你的单点故障。
祝你一切顺利,…(交通)成长的痛苦是最好的痛苦。 ;)
那么,我不确定没有人知道你有什么可靠的build议。
我们给客户的build议…
Nginx> Apache> PHP-FPM
这为您的客户提供了.htaccess支持,来自PHP-FPM的安全性(chroot / multiple php.inis)以及来自Nginx的静态文件性能。
磅>清漆> Nginx> PHP-FPM
这使您可以从庞德进行SSL解包,从Varnish进行静态和dynamic(ESI)caching,从Nginxcaching未caching的静态内容以及从PHP-FPM
Apache> PHP-FPM
事实是,如果你没有正确设置(caching的私人会话,不需要的cookie取消设置),你可以做更多的伤害比清漆更好。 这同样适用于Nginx。
读一下这个http://www.sonassi.com/knowledge-base/magento-kb/mythbusting/why-shouldnt-i-use-nginx-for-magento/
哦,避免任何事情tmpfs,它不会增加性能。
阅读这些了解更多信息…
我最后的build议,咨询一个专业人士 – 它的钱花的好。