【问题标题】:Configure Apache 503 sensitivity配置 Apache 503 敏感度
【发布时间】:2018-10-20 13:43:04
【问题描述】:

我目前有一个流量非常高的服务(大约 1000 个连接/秒,这不再可以通过优化来减少)。 直到 1 周前,我还在 AWS 工作并调整了一些 apache/NGNIX 配置来处理该负载。完全没有问题。

我现在想更换主机,我选择了 OVH ;新的服务器配置比后者好 4 倍(128GO RAM,24 核上一代处理器和 30mb 缓存......)

现在问题来了;在新服务器上,一旦我每秒通过 600 个连接,我就会以某种方式得到 503 错误(通过 apache)。 - 首先:我当然知道我必须对连接进行负载平衡,我也打算这样做;但我想要一个干净的配置,然后再复制它。 - Apache 配置为处理 4000 个并发连接,当我进行简单的压力测试时它会处理

所以我的假设: - OVH(新主机)经常阻塞我的内部连接。但他们告诉我,如果我超过 1GB/S 带宽,他们只会阻止(我不 - 离它很远) - Apache 配置有点不同,使服务器比以前更快地进入 503(可能它不喜欢连接到 mysql 和获得结果之间的 0.5 秒)。确实有很大的不同;在新服务器(Ubuntu)上,我的 apache 位于 NGNIX 反向代理后面,并且位于 docker-container 中,而之前它是一个简单的 LAMP

有人对发生的事情有解释吗?我完全迷失和沮丧。

非常感谢您。

【问题讨论】:

  • 欢迎来到 SO!很抱歉听到您遇到这样的问题。不幸的是,这不是问你问题的正确地方。您可能会在ServerFault 获得更多帮助。但是,你试过mod_status吗?
  • 啊,我虽然通过标记服务器关键字将在两个社区上发布!如果我在那里得到答案,我也会在那里问并在此处链接答案。我以前没有尝试过做 mod_status 。但是当我看到它时,我真的不知道我在寻找什么。然而,进程列表似乎永远不会清理...... SS 似乎只是在增长和增长。见截图:link
  • 这只是一个想法,可能有一些明显的异常。那么,任何地方都存在高负载吗?数据库因为请求的数量而疯狂(一些缓慢的查询?)?如果有来自各方的请求并且需要很长时间才能完成请求(不断增长的 SS),我想很明显,可用的插槽正在填满。你做了什么压力测试?只是服务器主域还是实际的 API 端点?如果是第一个:那将强调我的理论。如果某些未优化的代码使一切都变慢了,那么它可能不会发生在您的主域上。
  • 感谢您的迅速答复。就我而言,没有真正的“主域”,只有 API 端点。当对一个简单的端点进行压力测试(仅转储文件的内容)时,我可以达到 2000 个连接/秒。但是,带有 SQL 选择的端点最多只能连接 150 个连接(单独的查询需要 0,011 秒)。最后,最糟糕的是端点连接到 REDIS(它应该处理非常高的连接和查询率)。但按照我的逻辑(我可能错了),如果问题来自这些服务,它们应该有错误;他们没有——只有 apache 有 503s'。
  • 也许我们正在接近这个问题。问题是这些服务在系统上做了什么。也许redis article on latency 可以帮助您找到redis 的原因,这可能有助于确定整体瓶颈(如果有的话)。尽管如此,如果我的建议和想法不能带来解决方案,我想 ServerFault 的优秀人员会帮助你。

标签: mysql apache docker server http-status-code-503


【解决方案1】:

答案是积压的配置。您可以在您的 linux 系统(在您的 docker 上)上找到一些,也可以在 mysql、mongodb 等上找到... 当您有高流量时,您也需要调整这些设置。

我还更改了 TCP 连接的限制;默认情况下,这些受 Linux 限制。

【讨论】:

    猜你喜欢
    • 2012-09-29
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2020-11-15
    相关资源
    最近更新 更多