实际情况是,我们有一个数据量很大的视图,其中可能有 10 个 ajax 调用,其中一些调用需要长时间运行。在针对此特定页面进行负载测试时,如果有大约 5-10 个并发用户,整个服务器就会瘫痪,即使是在大型服务器上(64 个 CPU)。
该堆栈包括 Django、Gunicorn、Docker、Nginx、Ubuntu。
协议为HTTP 1.1,Nginx keepalive 已开启。超时为65秒。
在对任何其他页面进行负载测试时,该站点可以运行数千个用户,而不会对 CPU 产生太大影响。
崩溃时唯一达到峰值的指标是带宽,其他所有指标仍然很低。
我在 IRC 上询问了一下,除了我已经调查过的事情之外,大多数社区都不知道到底发生了什么。
我目前正在测试很多怀疑,但我很想听听见过类似情况的人的意见,因为我还没有见过。
我意识到有应用程序级方法可以缓解高运行时负载,但由于种种原因,我无法深入探讨这一方法。我只是想了解我是否有配置问题,或者这完全是应用程序设计问题,我需要让人们重新开始。
提前致谢。