用户通常需要了解通过 Internet 传送内容所涉及的庞大基础设施。在您和您正在浏览的服务器之间,互联网占据了数英里的距离。使这种情况更糟的是,达到前所未有的受欢迎程度的网站面临着管理持续上升的每月流量水平的挑战,使所有相关人员的体验更加困难。有些网站在一个月内的访问量比其他网站多;类似的网站在一年内收到更多。接收大量流量的网站可能会不知不觉地被迫进行频繁的服务器升级。
这确保了网站的忠实用户不会对页面加载时间和可用性产生负面影响。另一方面,要管理某些网站收到的大量流量,需要的不仅仅是简单的硬件更改。因此,公司所有者、他们的用户体验设计师和他们的开发人员应该问自己的问题不仅是如何将日常速度保持在不影响可用性的水平上,而且还要为这种情况做好准备。您的网站将来可能会遇到的流量。
什么是负载平衡及其工作原理?
负载平衡是在众多服务器之间分配入站 Web 流量,以最大限度地提高资源的利用效率,并防止任何一台服务器同时承担过多的工作。可以最小化需求,并且可以通过将其分布在服务器网络中来加快响应时间。当使用负载平衡时,即使一台或多台服务器由于错误或正常维护而无法访问,应用程序也不一定会完全停止运行。相反,幸存的服务器会弥补不足并正常工作。如果您希望在现场拥有大量服务器或在云网络范例中使用分散的服务器,则这两个选项都可用。
在分布式计算云中,服务器可能位于不同地理区域的安全数据中心。即使自然灾害袭击了单个数据中心,在其他地方仍然可以访问足够多的服务器来管理工作量。负载平衡发生在私有云中的一组专用服务器上,这些服务器提供包罗万象的基础设施即服务 (IaaS) 包。这些服务器专为一个单一的商业客户分配。
您的互联网协议 (IP) 流量负载以及许多其他客户的流量负载在公共云中广泛分散的计算机网络上得到平衡。负载平衡在公共云中可能是最简单的,主要的云提供商提供大部分服务器资源。这是因为公共云几乎拥有无限的服务器资源。自然地,必须调查任何潜在的云服务提供商以前的工作,以确定该公司的客户是否真正享受按需无缝扩展。随着您的网站越来越受欢迎,您将需要升级当前的硬件或完全投资购买全新的计算机。
在考虑可扩展性时,将整个流程迁移到云端是可选的,以获得所需的灵活性级别。Zeus 的简单负载均衡器和流量管理器版本在亚马逊的弹性计算云上可用,允许各种规模的企业在多个服务器之间动态分配他们的 Web 流量。这将使客户能够为常规流量提供现场服务,然后在需求高峰期临时扩展到云端。或者,客户可以在云中提供正常流量。
大型网站服务器如何处理高流量?
当网站每天收到数以千计的请求时,底层基础设施必须准备好管理如此大的流量,网站才能正常运行。在服务器级别,可以在两个不同级别执行处理大量网络流量所需的优化:
物理服务器
管理物理服务器上的大量流量负载的方法主要有两种,如下所示:
线性缩放
将您的钱花在一台具有大量处理能力、RAM 和硬盘驱动器空间以及冗余的机器上。这适用于具有一些静态网页的普通网站。例如,需要具有 500 MHz 能力的处理器或能够加载 Web 服务器(如 Apache)的操作系统。它通过可靠的连接连接到 Internet,例如 E1(每秒 2 兆字节)或 E3(每秒 34 MB)。该物理服务器每天能够容纳数千名用户。
横向扩展和负载均衡
无论它们有多大,服务器始终具有必须遵守的固有容量上限。同样的原则也适用于在服务器上执行的程序(例如 Apache)。每天吸引大量访问者的网站应考虑购买虚拟专用服务器或专用服务器托管服务。WordPress 专家和开发人员随时准备回答有关使用我们的Temok托管服务的问题。
托管服务有很多选择(美国专用服务器或专用服务器托管、完全托管托管、共享托管和云托管等),但找到合适的服务可能具有挑战性。每个托管服务提供商都有不同的功能,并非所有功能都适合您的业务。因此,在选择托管服务提供商之前,最好认真考虑所有重要因素。
术语“负载平衡”是指在统称为“服务器池”的多个后端服务器之间分配传入网络流量的有效方法。处理峰值负载最有效的方法是设置额外的服务器并在这些服务器之间平均分配工作负载。
负载均衡器有效地执行以下操作:
- 客户端请求和网络负担在多个服务器之间有效分配。
- 通过将请求传输限制为仅那些当前在线的服务器来确保高可用性和可靠性。
- 提供调整服务器数量以响应需求波动的能力。
让我们深入研究一些有关管理 Web 服务器上的过度负载的更详细信息。
网络应用服务器
处理对 Web 域的请求
域名服务器(通常称为 DNS)可以减轻一些压力。(域名系统或 DNS 是一种提供域名与其对应 IP 地址之间转换的服务。)只要服务器收到请求,DNS 就会通过围绕可用 IP 地址进行循环来分散和分担负载。这样做是为了分配和分担负载。每台服务器都通过中央数据库访问主网站的页面。
开关允许以几种不同的方式划分负载。每当对网站提出请求时,都会联系一台机器。然后将信息发送到可访问的服务器之一。冗余是使用此方法可以获得的主要好处。即使其中一台服务器出现故障,其余机器仍将继续运行,网站将始终可用。随着时间的推移逐渐提高容量也有好处,这是这里的一个额外优势。单击此处阅读我们最好的文章,其中包括了解差异的 Web 服务器 VS 应用程序服务器。
自动缩放
自动缩放是云计算中使用的一种机制,可确保提供适当数量的实例以适应应用程序正在使用的负载。流量大时自动增加实例数以维持服务器性能,流量减少时自动降低实例数。此功能确保网站始终可访问,并使其能够动态扩展以响应网络流量的变化。活动级别每小时、每天或每周波动的网站将从实施此解决方案中获益最多。
优化数据库服务器
用户每天都会写新评论,网站所有者会添加新页面、更改或删除以前的页面,以及在他们的列表中添加或删除内容。这些操作会导致在数据库表中创建“漏洞”。这些空白空间在删除数据条目后留下,但需要替换。这些类型的间隙会导致碎片化并导致更长的获取时间。如果数据库包含的“漏洞”占其总空间的 5% 以上,则必须对其进行修复。多个数据库连接、缓慢的查询和其他低效调用经常会严重影响应用程序服务器的性能。这些类型的调用需要定期优化。
Web 服务器监控和优化
为确保网站充分发挥其潜力,监控 KPI(关键绩效指标)非常重要,包括通过各种渠道(如帮助台、客户服务等)收集轶事和定性消费者反馈。如果网站收到大量流量,安排对 Web 服务器进行例行审核符合每个人的最佳利益。以下是部分配置:
- 超时:它是设置的名称,指定 Web 服务器在放弃等待之前等待用户请求的时间。这个数字是由发送到服务器的流量决定的。在繁忙的系统上,它通常配置为 120 秒。建议将此数字保持尽可能低,以始终防止不必要的资源消耗。
- KeepAlive:如果将 KeepAlive 设置切换为 ON,Web 服务器将仅使用一个连接来移动加载页面所需的所有数据。正因为如此,建立一个新的连接来加载每个文件是可选的。这将在交通繁忙的日子里节省大量时间。
- MaxClients:设置 Web 服务器时,要考虑的最重要变量之一是 MaxClients 设置,它指定一次可以容纳的最大用户数。将值设置得太高会浪费资源,而设置得太低可能会导致您失去访问者。将其调整到适合您的听众的水平。
- HostnameLookups:应用程序服务器可能会通过尝试确定连接到它的每个 IP 的主机名来浪费资源。要阻止这种情况发生,请在主机名查找中键入“0”。
Web 服务器缓存
通过使用 NGINX 等工具,网站可以扩展以应对高流量。NGINX 与主服务器一起部署,用作反向代理来管理发送到 Web 服务器的动态或静态请求。因为这个工具独一无二的处理能力可以处理很多连接,同时使用很少的资源,因为它是单线程服务器,内存和 CPU 使用量相对恒定,即使在高流量期间也是如此。在使用 NGINX 作为反向代理的服务器上使用 Engintron(cPanel 的一个插件)可以显着提高服务器的速度,尤其是在高峰流量期间。
Web 服务、反向代理、缓存、负载平衡和视频流是 NGINX 的开源软件可以完成的部分任务。它还能够作为 HTTP、TCP 和 UDP 服务器的反向代理和负载平衡器,以及电子邮件(IMAP 和 POP3)的代理服务器。在使用缓存时,网站的速度和素材的新鲜度之间总是需要权衡取舍,需要在两者之间找到理想的平衡点。
为 Web 服务器提供更多马力
一些应用程序需要它们的数据库服务器具有更大的容量。在这种情况下,尽管流量急剧增加,但以 CPU 和 RAM 的形式为网站提供额外资源将有助于网站更顺畅地运行。一些数据库服务器需要他们的裸机和更轻的虚拟网络服务器。裸机服务器有自己的硬件,专为一个客户创建,并且专门为该客户服务。示例包括 MS SQL Server。同样,接收大量流量的网站可以通过增加其 Web 服务器可以访问的计算和内存资源来提高其速度和性能。
负载平衡的好处
最后,负载平衡的目的是帮助组织更成功地管理网络流量和应用程序负载,从而为最终用户提供可靠且一致的体验。由于执行此功能的负载平衡器,可以获得以下优点。
流量高峰期间的可扩展性
企业可以通过负载平衡来控制流量变化和激增,从而允许他们调整必要的服务器数量以满足不断变化的需求。这使得企业可以通过客户突然增加的订单来增加收入。例如,电子商务网站应该预料到圣诞节购物和促销活动期间网络流量会增加。扩展服务器容量以平衡其负载的选项可能是新客户或保留客户的销售收益与不满意的消费者造成的重大损失之间的区别。
减少停机时间的冗余
当访问网站的流量突然且无法预料地增加时,运行该网站的服务器崩溃并不罕见。但是,如果您可以在许多 Web 服务器上维护网站,您将能够减少单个服务器不可用可能造成的危害。通过负载平衡可以添加有助于实现工作负载现代化的自动化层,它允许您在其中一台服务器发生故障时自动将网络负载转移到正常运行的服务器上。您可以将一台服务器保持在活动状态以接受流量,而第二台服务器保持被动模式并准备在活动服务器发生故障时上线。这种安排让公司高枕无忧,因为他们的其中一台服务器将始终处于运行状态,
维护的灵活性
通过暂时将流量重定向到未主动处理请求的服务器的能力,开发人员可以自由地对有问题的服务器进行维护工作。您可以将所有流量定向到单个服务器,同时将负载平衡器置于活动模式。之后,您的 IT 支持人员可能会为被动服务器提供软件更新和补丁,测试生产环境中的更改,并在一切正常时将服务器从被动状态切换为主动状态。
主动故障检测
企业可以识别服务器中断并通过负载平衡来解决它们,负载平衡将资源分配给未受影响的服务器。这使您能够有效地管理服务器,尤其是当这些服务器分散在多个数据中心和云提供商时。对于软件负载平衡器尤其如此,它可以利用预测分析来识别可能的流量瓶颈,甚至在它们发生之前。
DDoS 攻击缓解
在对抗分布式拒绝服务 (DDoS) 攻击时,负载均衡器将流量分散到多个服务器的能力被证明是无价的。如果 DDoS 攻击使单个服务器过载,负载平衡器会很有用,因为它们会将流量重新路由到其他服务器,从而最大限度地减少攻击面。通过以这种方式消除所有网络的潜在弱点,负载平衡使您的系统更能抵抗此类攻击。
最后的想法
多年来,负载平衡技术取得了显着进步,并且仍然是组织保证持续用户体验的重要手段。负载平衡为组织提供了扩展资源、满足客户期望和创造资金的新机会。这是对 IT 团队负载平衡的额外好处,包括更少的停机时间和高可用性。