博客 | NGINX

如何应对突发流量激增和服务器过载

NGINX-F5-horiz-black-type-RGB 的一部分
Frances Fedoriska 缩略图
弗朗西丝·费多里斯卡
2021 年 7 月 14 日发布

对于许多零售商来说,新冠肺炎疫情改变了顾客节日购物的地点和方式。 由于无法前往实体店购物,购物者比以往任何时候都更倾向于选择在线零售商,导致 2020 年电子商务销售额飙升至 1890 亿美元,比 2019 年增长 33% 。 距离零售商和今年假日购物者见面已不到六个月,我们将揭示您可以利用 NGINX 并为突然的流量高峰做好准备的几种方法。

步骤 1: 了解你与竞争对手相比的地位

在对你的堆栈进行更改之前,它有助于了解你需要在多大程度上最大化你的“网络季节”表现,以实现繁荣而不仅仅是生存。 首先收集有关竞争网站性能的数据。 页面加载时间可能是最重要的指标——如果网站无法在三秒内加载,如今许多没有耐心的用户就会放弃该网站。 有许多工具可用于测量加载时间,其中很多是免费的。 一个简单的起点是Geekflare 最近对 11 种测试工具的评论

考虑测量这些页面的加载时间:

  • 主页
  • 产品搜索结果
  • 产品页面详细信息
  • 点击“购买”按钮后的确认页面

测试六个竞争对手的关键页面以及您自己的网站仅需要几个小时。 (测量下载时间之前,请务必使用Shift+Refresh清除浏览器缓存。) 有了结果之后,您可以执行以下操作:

  • 指 数 总 表 现。 不同网站上的“从头到尾”流程(访问、搜索和购买)需要多长时间?
  • 找出优势和劣势。 找出您的网站表现领先、有竞争力或落后的具体领域。
  • 注意特征差异。 竞争对手如何通过额外功能为购物体验增加价值? 您的网站提供哪些不同的用户体验?
  • 制定计划。 如果您在网站性能的一个或多个方面远远落后于竞争对手,那么请努力达到他们的平均响应时间;如果您已经具有竞争力,那么请努力成为第一。

第 2 步: 像世界上最繁忙的网站一样运行 NGINX

今年早些时候, NGINX成为互联网上排名第一的网络服务器。 我们很荣幸有如此多的网站信任我们来提供他们的网站和应用程序,并且希望您也能如此。 但 NGINX 不仅仅是一个 Web 服务器。 它是一个集反向代理负载均衡器缓存API 网关于一体的软件。

NGINX 最重要的优势之一是它如何优化进入您网站的流量。 可以将 NGINX 视为门卫,管理商店前面的流量。 它会轻轻地排队并允许每位购物者进入(HTTP 请求),将人行道上混乱的人群转变为商店中平稳有序的队伍。 购物者会被引导至其愿望清单上商品的具体位置,确保流量均匀分布且所有资源得到平等利用。

NGINX 主要采用两种开箱即用的技术来实现这一点:

  • 使用保持活动连接进行 HTTP 卸载,以缓冲缓慢到达的 HTTP 请求,并仅在后端服务器准备就绪时将其转发到后端服务器。 当事务源自 NGINX(在快速的本地网络上)时,它们完成的速度比源自远程客户端时要快得多。
  • 复杂的负载均衡,有多种算法可供选择,以优化流量分配并尽可能高效地使用服务器资源。

除了优化流量之外,您还可以通过以下四种方法利用 NGINX 来优化您的网站并防止流量激增时服务器过载。

详细内容请阅读:

使用缓存提高网页响应时间

点击收集、在线订购店内取货,甚至客户付款选项都增加了在线交易成功的可能性。 内容缓存 NGINX 对于网络流量有类似的效果。 NGINX 会自动存储发送给客户端的每个文件,并直接从缓存中满足对给定文件的后续请求。 缓存不仅可以更快地响应用户,还可以减少上游服务器的负载,因为它们不必从头开始一遍又一遍地处理相同的请求。 根据您的应用,内容缓存可以将内部流量减少多达 100 倍,从而减少为您的应用程序提供服务所需的硬件容量。

有关缓存和示例配置的更多详细信息,请参阅我们博客上的“缓存和微缓存您的网站内容”“使用 NGINX 和 NGINX Plus 进行缓存的指南”

通过连接、速率和带宽控制管理访客流量

在最繁忙的时候,您商店的门卫可能需要限制进入的购物者数量。 这可能是出于安全原因(避免过度拥挤)或对尊贵客户的优惠待遇(VIP 时间、仅限邀请的促销等)。 Web 应用程序需要采取类似的措施。 您可以通过限制进入网站的流量来防止服务器过载,确保客户端及时访问所需的资源。 NGINX(以及容器环境中的NGINX Ingress Controller )提供了一系列限制传入流量的方法,包括:

  • 并发限制——限制转发到每个服务器的并发请求数,以匹配每个服务器中工作线程或进程的有限数量
  • 请求速率限制——对每个客户端的请求应用每秒或每分钟的限制,以防止支付网关或复杂搜索等服务的服务器过载(有关详细信息,请参阅我们博客上的使用 NGINX 和 NGINX Plus 的速率限制
  • 带宽限制——控制客户端在每个连接上可以下载的数据量

如有必要,您可以区分不同类型的客户端。 也许您的商店的送货区域不包括亚洲,或者您想优先考虑购物篮中有商品的用户。 您可以利用 cookie、地理位置数据和其他参数来控制 NGINX 如何应用流量限制。

通过弹性扩展避免服务器过载

如果没有足够的基础设施,流量激增很容易导致服务器过载。 NGINX 的轻量级、事件驱动架构可利用您现有的基础设施最大限度地提高应用程序交付性能。 我们针对裸机虚拟化环境中的NGINX Ingress Controller和 NGINX Plus 的尺寸指南可以帮助您确定所准备的性能和规模的准确运营费用。

DevOps 团队可以利用其他 NGINX 功能来有效应对流量高峰:

通过内置安全性保护客户数据

确保交易安全是任何网站的首要任务,对于处理信用卡信息的在线零售商来说尤其如此。 正如塔吉特 (Target) 等不幸的零售商亲身体验到的那样,违反协议可能意味着品牌受损和诉讼。 塔吉特 (Target) 通过提高可视性和加强安全性的增强措施解决了 2014 年数据泄露问题。 通过实施以下措施,以市场上最安全的购物体验之一在竞争中脱颖而出:

现在你已经准备好了

现在,使用我们的企业级解决方案武装您的网站,意味着您可以放心,您已经为 2021 年年底购物季(或线上)的任何活动做好了准备。

我们的所有商业解决方案均可免费试用 30 天

或者从免费和开源产品开始:

本博客包括 Owen Garrett 和 Floyd Smith 的贡献。


“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”