我想知道对于繁忙的 php+mysql 应用程序来说最好的(最稳定、内存占用最少)安排是什么?
request > Varnish > Apache
requests > Varnish > Nginx > php5-fpm
requests > Varnish > Nginx > Apache
requests > Nginx > Varnish > Apache
something else
感谢您提供相关基准的提示或参考。谢谢
答案1
好吧,我不确定在不知情的情况下有人如何可靠地为您提供建议......
- 这是针对一个网站,还是多个网站(转售)?
- 完整且准确的服务器规格是什么?
- 您的流量目标是什么(点击量、页面浏览量、带宽承诺)?
我们给客户的建议...
如果你需要转售托管
Nginx > Apache > PHP-FPM
这样可以为您的客户提供 .htaccess 支持、PHP-FPM 的安全性(chroot/多个 php.inis)以及 Nginx 的静态文件性能。
如果它只适合你
Pound > Varnish > Nginx > PHP-FPM
这为您提供了来自 Pound 的 SSL 解包、来自 Varnish 的静态和动态 (ESI) 缓存、来自 Nginx 的非缓存静态内容以及来自 PHP-FPM 的动态内容
如果你没有使用过 Varnish
Apache > PHP-FPM
我们的典型架构是...
如果有帮助的话,对于 Web 集群,我们通常使用:
lvs (initial ssl load balancing)
-> pound (ssl-unwrapping)
-> varnish (caching)
-> haproxy (load balancing)
-> nginx (static content)
-> php (dynamic content)
-> mysql (db)
事实是,如果你没有正确设置 Varnish(缓存的私有会话、不需要的 cookie 取消设置),那么你使用 Varnish 带来的危害会比好处多得多。Nginx 也是如此。
读一下这个http://www.sonassi.com/knowledge-base/magento-kb/mythbusting/why-shouldnt-i-use-nginx-for-magento/和这个构建 SSL 服务器场
我的最后一条建议是,咨询专业人士——这笔钱花得值得。