多少 Nginx 重定向太多了?

Jos*_*ker 2 performance nginx redirect

我正在一个以新闻为中心的网站上工作,该网站已经存在多年,并且正在稳步累积越来越多的页面重定向。目前我们有大约 375 个重定向,并且每月增加大约 5-10 个。

我知道 NGinx 在处理重定向方面非常非常快,但大概必须有一定数量的重定向会以有意义的方式影响性能,如果我知道有多少,我会感觉更好。数百?几千?百万?

我们能够通过在 Memcached 中一次缓存流行页面一两分钟来处理大量流量(减少我们数据库的负载,明显的瓶颈),但 NGinx 仍然需要路由这些流量。

这是我应该关心的事情吗?对于高流量网站来说,多少重定向太多了?

[最初发布于 StackOverflow]

Mar*_*ald 6

重定向并不是真正的问题,因为没有联系后端。只是 Nginx。Just Nginx 真的非常快。正如每秒 10,000 多个连接速度一样

在担心 Nginx 是否可以处理它之前,您可能应该更多地担心杂乱的配置文件。

作为奖励,我最近正在使用 Nginx 开发一个完整的页面缓存解决方案,我也使用了 Memcached,一个提高性能的巧妙技巧是使用上游 keepalive 模块来保持连接打开。

不过,它仅适用于 Memcached 后端,因此请勿将其与任何类型的 fastcgi 或 HTTP 代理一起使用。

  • 通过 ~600.000 重定向,我的 nginx 消耗了 ~500Mb 才能运行。 (2认同)

小智 6

我正在开发一个以新闻为中心的网站,该网站已经存在多年,并且正在稳步累积越来越多的页面重定向

在一个类似的项目中,我在 AWS m1.xlarge(4 个 CPU、8 个 ECU、15 GB 内存)上包含了一个 Nginx conf 和我们的 180 万个应计重定向。

有 180 万次重定向,Nginx 重新加载良好,但在单个并发用户的负载下响应时间约为几秒钟。

数以万计的重定向似乎可以正常执行。

  • 这个答案可能很有用,因为它指出了指定平台 (AWS m1.xlarge) 上“数万次重定向”和“180 万次重定向”之间的某个限制。如果您记录了各种重定向的实际响应时间,例如无、一千、一万、十万和一百万的实际响应时间,这将更加有用。 (3认同)