如何以及何时为我的网站添加服务器?

如何以及何时为我的网站添加服务器?

我将在一周左右发布一个网站,我会先将其上传到公共服务器上。我的问题是,如果我有很多用户,我该如何为网站添加更多服务器(可能是专用的)?此外,我应该什么时候开始考虑添加更多服务器,我怎么知道服务器是否无法再处理流量?

答案1

好吧,回答你的第一个问题,根据你的网站所运行的平台和网站的类型,你可以将任务分成不同的服务器,或者创建位于负载均衡器后面的重复服务器。

例如,只需将内容复制到其他服务器,然后将 URL 设置为指向较小的负载均衡器服务器,即可扩展简单的静态站点,该服务器以循环方式将传入连接传递到您的每台服务器,因此每台服务器都增加了处理额外用户数的能力,该数量等于您的第一台服务器可以处理的数量(假设它们都相同)。

                         _________________
                         |               |
                         | load balancer |
                         |_______________|
                      /           |       \
                     /            |        \
                    /             |         \
            __________         __________    \ __________
            |        |         |        |      |        |
            |   web  |         |   web  |      |   web  |     etc...
            | server |         | server |      | server |
            |________|         |________|      |________|

现在,如果它是一个更动态的网站,包括读写数据库和用户相互交互,那就稍微复杂一点了。基本上,你会把单个服务器的所有任务分成多个服务器来分配负载。例如,你会有一个(或多个——使用复制)数据库服务器,为你的前端 web 服务器提供内容。然后,你可以有多个 web 服务器,它们提供实际的 html/php/whatever 服务,但从数据库服务器获取内容。仍然使用负载平衡器在多个 web 服务器之间分配流量,所以即使在动态网站上,每个人都会看到相同的内容,因为所有 web 服务器都会从同一个数据库环境中获取数据。现在具体来说,对于扩展数据库服务器,基本上你有一个“主”服务器,所有的写入都发生在这个服务器上,然后它将更改复制到一堆“从属”服务器上,你在那里进行所有的读取。通常,任何网站的数据库读取次数都比写入次数多,所以这是可行的,并允许你将这些读取分配到你需要的尽可能多的从属服务器上。

                         _________________
                         |               |
                         | load balancer |
                         |_______________|
                      /           |       \
                     /            |        \
                    /             |         \
            __________         __________    \ __________
            |        |         |        |      |        |
            |   web  |         |   web  |      |   web  |     etc...
            | server |         | server |      | server |
            |________|         |________|      |________|

                 ^                 ^               ^
     each web server writes to the master and reads from the slaves


                         _________________
                         |     Master    |
                         |  (for writes) |
                         |_______________|
                      /           |       \
                     /            |        \
                    /             |         \
            __________         __________    \ __________
            | slave  |         | slave  |      | slave  |
            |(for    |         |(for    |      |(for    |     etc...
            | reads) |         | reads) |      | reads) |
            |________|         |________|      |________|

现在回答你的第二个问题,看看你什么时候需要转移到更多的服务器是非常简单的。服务器上有几种不同的资源可能会被耗尽——可用的 CPU 周期、内存空间、磁盘空间/带宽和网络带宽。有工具可以查看这些资源。假设这是一个基于 Unix 的操作系统,你可以使用“top”来监控 CPU 使用率和内存使用率,使用“df -h”来查看磁盘使用率,使用“iftop”来监控网络使用率。如果其中任何一个资源一直在你可用资源的上限附近运行,并且你注意到你的网站使用率正在下降,那么是时候购买另一台服务器了。而且,根据你发现的资源耗尽情况,你将知道如何配置你的新服务器以更好地处理这些负载。


希望有帮助!

相关内容