Apache HTTP localhost 在 macOS Monterey 上随机花费 5 秒,但在 HTTPS 上速度很快

Tam*_*Man 7 apache macos http localhost macos-monterey

我尽可能地等待,但最终不得不从莫哈韦升级。
我知道有些东西会不必要地损坏。当然确实如此。

较大的文件(超过 100k)随机需要 5 秒才能加载。它并不总是相同的文件,也不是每次都相同,并且它只发生在 HTTP Apache 中(尝试过端口 80 和 8080)。它在 Apache HTTPS/443 和 HTTP/80 上的 Python SimpleHTTPServer 中运行良好。

我尝试过的事情:

  • 这不是 DNS。它发生在http://127.0.0.1/large.jpg
  • 这与浏览器无关,它发生在curl上。
  • 这不是 IPv6。关掉它,同样的交易。
  • 这不是MTU,尝试了1492,同样的事情(你现在可以看到我的绝望)
  • 已经通过重新安装了brew reinstall httpd。没有什么。

重现步骤:
i=1; while [ $i -lt 50 ]; do time curl http://127.0.0.1/large.jpg > /dev/null; ((i++)); done

最终它会在 96% 时停滞 5 秒:
96 395k 96 382k

另一个文件:
i=1; while [ $i -lt 50 ]; do time curl http://127.0.0.1/jquery-latest.min.js > /dev/null; ((i++)); done

最终停在85%
85 95786 85 81390

httpd -v
服务器版本:Apache/2.4.52 (Unix)
服务器构建:2021 年 12 月 20 日 13:37:44
通过 brew 安装

macOS 蒙特利 12.1 (21C52)

我失去了理智,非常感谢任何帮助。
谢谢

Tam*_*Man 10

我想我找到了解决方案。通过添加以下内容来关闭“保持活动”:

KeepAlive Off

到你的http.conf

更好的答案是理解为什么 Keep Alive 行为不当并修复它,但由于它在我的本地开发计算机上,所以这并不重要。