哪一个更好?为什么?这两种方法的优缺点是什么?
使用以下方式构建流量大的网站
- 使用三台强大的物理服务器作为 Web 服务器,提供动态页面(使用 apache/php)并在它们之间进行负载平衡
- 或者将相同的三台功能强大的机器拆分成更多虚拟机(例如使用 Xen),并在每个虚拟机内运行 apache/php,并在它们之间平衡负载请求。例如,如果我将物理服务器分成 4 个虚拟服务器,我将获得 12 个虚拟机,每个虚拟机都运行 apache/php。
这只是一个想法,但我能否通过这种方式实现更高的可靠性,甚至更好地利用资源?
这个问题只是关于 http 服务器。数据库服务器、存储,其他所有东西都是另一回事。这 3 个盒子专用于动态 http 服务。
欢迎所有意见和经验!
答案1
如果所有 Web 服务器都运行相同的应用程序或一组应用程序,那么直接使用物理机将更加高效,在大多数情况下尤其如此,在某些情况下甚至会非常显著。物理主机上的操作系统将能够更有效地平衡进程之间的内存和 CPU,并且不会因虚拟化层而对性能造成任何影响。
如果您有一台要拆分的服务器,那么您将享受分离的优势:其中一台虚拟机中的软件可能会完全崩溃,而其他虚拟机将尝试弥补由于负载平衡而产生的不足 - 但如果您有三台物理服务器,您仍然有这个优势。