环境: PCF(AWS)
在production环境上传几张图片后,app 内存暴增以及无法释放导致crashed in a short time
解决方案:
2. 解决内存暴增的问题 - 在管道中增加个GC回收的中间件
public class GCMiddleware { private readonly RequestDelegate _next; public GCMiddleware(RequestDelegate next) { _next = next; } public async Task Invoke(HttpContext httpContext) { await _next(httpContext); GC.Collect(2, GCCollectionMode.Forced, true); GC.WaitForPendingFinalizers(); } }
效果:
程序刚启动
连续几十次request之后:
等待几分钟后: