From 21de152fd78a1cdecd2fa3faa24f4e9ad8fb2d81 Mon Sep 17 00:00:00 2001 From: caigua <49645396+19y@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:15:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=81=BF=E5=85=8D=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E8=A7=A6=E5=8F=91=E9=80=92=E5=BD=92=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E9=A3=8E=E6=9A=B4=EF=BC=8C=E6=8E=92=E9=99=A4=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=A8=A1=E5=9E=8B=E7=9A=84=E6=80=A7=E8=83=BD=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E4=B8=AD=E9=97=B4=E4=BB=B6=20(#5910)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 初始慢操作触发日志写入,增加系统负载;日志写入因负载过高变缓,被判定为新的慢操作,进而触发更多日志;持续升高的负载让所有操作进一步变慢,生成更多日志。最终形成“越慢越写、越写越慢”的自我强化正反馈循环,即便初始高并发业务流量结束,循环仍会持续耗尽系统资源,直至服务崩溃。 修复方案: - 对日志模型(Log)跳过 addCommonMiddleware 中间件注册 - 避免日志写入操作被自身监控逻辑拦截,从源头切断循环触发条件 - 不影响业务模型的慢操作监控功能,仅豁免日志自身的性能统计 --- packages/service/common/mongo/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/service/common/mongo/index.ts b/packages/service/common/mongo/index.ts index 51b52f094..15475569a 100644 --- a/packages/service/common/mongo/index.ts +++ b/packages/service/common/mongo/index.ts @@ -112,7 +112,7 @@ export const getMongoModel = (name: string, schema: mongoose.Schema) => { export const getMongoLogModel = (name: string, schema: mongoose.Schema) => { if (connectionLogMongo.models[name]) return connectionLogMongo.models[name] as Model; console.log('Load model======', name); - addCommonMiddleware(schema); + // addCommonMiddleware(schema); const model = connectionLogMongo.model(name, schema);