接口测试 临时邮箱项目挂了,压测复现问题,贴监控数据

NiMail · November 20, 2025 · Last by NiMail replied at November 21, 2025 · 420 hits

情况是这样,监控看到https://www.nimail.cn这个临时邮箱项目挂了,内存占满。
现象就是链接请求超时报错 500,所有的请求都失败。

分析发现在晚上 3 点出现流量波峰,之后就一直有问题。

分析发现 卡在数据库请求上,一般的查询耗时打到几十秒。

然后问题是为什么内存暴涨?

为了研究和复现问题。直接上压测。之前发布过一次 jmeter 压测教程:https://testerhome.com/topics/43010,现在直接使用并改改。
压测发现确实能出现,当接口请求量上来后,内存会呈现持续增长,并打到最后的 100%。然后所有的请求就失败。

具体分析后发现确实是链接数据库问题。然后去看了下数据库,又发现数据库并没有慢查询和资源告警。这就见鬼了。。。

然后 AI 了一下,发现该问题很典型。

标准答案就是:服务的数据库连接池无法支撑大流量,导致链接占满导致新链接无法查库直接等待,所以现象才是 sql 查询很慢,但是 db 没有慢查询和压力;时间长流量大导致数据都压在服务的内存中导致内存积压没有 GC。

别看现在写的没几个字,但是整个排查的过程是很长的,开始只看到内存暴涨,但是暴涨内存原因无法分析,看来看去最后才发现 sql 执行很长这条关键的线索。整个过程下来,感觉自己又变强了。

解决办法就是增加连接池大小,扩容。

不过我这个站现在都是免费的,扩容不起,而且观察也只是偶发的暴涨,懒得搞了。

共收到 2 条回复 时间 点赞

java 项目工具就比较简单了,直接 arthas 看火焰图就能发现问题,python 项目不清楚有什么轻量级工具可以监控内存使用情况

Vanessa 回复

哈哈 不会 Java。但是不好改代码,只是从测试角度去分析

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up