假设地讲...
我有一个网站,现在越来越受欢迎。这是一个相当简单的网站,用 PHP 编写并连接到 MySQL 数据库。
托管它的服务器拥有一流的 Intel Xenon 处理器、16GB RAM 和 2TB 硬盘空间。我们的互联网上行链路为 20Mbps。
大多数情况下,服务器的处理器运行率约为 85%,在给定时间内使用约 13-14GB RAM,并且已使用 1.4TB。是时候升级了……
我叔叔有 20 台廉价的戴尔 Optiplex 电脑,每台 2.4GHz、500MB 内存和 250GB 硬盘空间。是否可以将这些电脑连接起来,使其性能超过我当前的服务器?如果可以,怎么做?我可以连接硬盘,并拥有一个 2500GB 的巨型硬盘或两个硬盘来防止故障吗?如果我们的网站继续发展壮大(很可能会),我该如何平衡网络负载。即使我获得了我所在地区最快的互联网上行链路(这里是 120Mbps),我能否为一个集群获得 2 个或更多的上行链路?
有没有书讲解服务器集群/超级计算机的制作?谢谢。
编辑:假设我有 20 台机架式计算机,每台都有 2GB RAM、250GB 硬盘和 Intel Xenon 处理器。高端机架式计算机。在这种情况下,任何假钱都不是问题。我不会去第三方托管服务。
答案1
我甚至不确定那些旧系统的性能是否会超过拥有那么多内存的至强。即使如此,你也要花很多钱才能把所有东西都托管在某个地方,而地理位置分散的用户仍然看不到最好的性能改进。我认为你应该考虑用 EC2 或其他东西来托管它,或者至少,如果你要走物理服务器的路线,通过不把十几台台式机放在托管中而节省的钱,你将能够购买第二台和第三台服务器,就像你现在拥有的一样,并使用带有多汁磁盘阵列的专用后端 MySQL 服务器在两台服务器之间进行负载平衡。这样,你只需要花费 3-4U 的托管空间。
答案2
我建议您看看亚马逊的 EC2 产品或 RackSpace 的虚拟服务器产品。两者都可以以极低的成本为您提供负载平衡器。