如果我的网站在使用 PHP 和 MySQL 的专用服务器上运行。我什么时候才能知道我需要第二台专用服务器?让我的网站在两台服务器上运行是否容易?除了新服务器的费用外,还需要我支付任何费用吗?例如:MySQL 社区版可以处理这个问题吗?我如何将我的网站扩展到两台服务器上?
答案1
哇,这个问题太宽泛了!关于这个主题的书有 1200 页之多,很难将其总结为一个高尚的小答案。让我们试试:
服务器资源使用情况
监控它。绘制图表。观察趋势。如果 CPU 使用率等没有随着时间的推移而明显增长,则无需着急。如果资源使用率稳步增长,请在出现问题之前购买更多硬件;例如,您看到 CPU 使用率已达到平均 40-50% 的使用率,是时候开始投资新硬件了。或者,如果内存使用率开始接近舒适限度,请扩展 RAM 或购买更多服务器。
将负载分散到多台服务器上
是的,这是非常可行的。典型的第一步是将数据库服务器和 Web 服务器分开;将 MySQL 放在一台服务器上,将 Web 服务器放在另一台服务器上。
添加更多 Web 服务器可能非常简单,也可能非常困难,具体取决于您的设置和使用的软件。如果大多数内容来自 CMS(例如 Drupal 或 Wordpress)的服务器,并且静态内容(图像文件等)很少更改,则可以设置 cronjob,不时将文件从主服务器 rsync 到其他服务器,然后完成此操作。或者有一个文件服务器,让您的 Web 服务器通过 NFS 访问它。或者使用一些集群文件系统(GFS、GPFS、OCFS2),尽管它们确实存在问题。或者使用 DRDB。
添加更多数据库服务器可能比较棘手。使用 MySQL 的最传统方式是拥有一个处理读取和写入的主服务器,然后是 X 个仅处理读取的从属服务器。棘手的部分可能是针对该场景配置您的应用程序,而且在非常繁忙的环境中,主从复制可能会出现明显的滞后。理论上,您也可以将多主服务器与 MySQL 结合使用,但这也有其缺点。
如果您只使用开源软件,那么除了服务器之外,这一切都不会花费您更多的钱 - 尽管规划、实施和测试所有这些都需要相当长的时间。