.NetCore框架Surging系列(二)HTTP
Surging系列(二)HTTP
流程有点复杂,结合流程看代码吧
HTTP初始化
Surging初始化不仅仅是只初始化HTTP,还有注册中间件、RPC、WebSocket等,而HTTP初始化最终调用的是Surging.Core.KestrelHttpServer
中方法StartAsync
HTTP监听
Surging.Core.KestrelHttpServer
中方法StartAsync,在这个方法中可以设置Kestrel配置,设置静态资源等
介绍目录
内存泄漏
HTTP存在内存泄漏,最开始完成用户登录接口后测试,请求接口超过1w内存几百M,10w两个G,起先以为是代码有问题,删了所有扩展的代码,跑到了300w,照样内存飙升,并且不会回收。可以参考我另外一篇
Web服务稳定性测试 负载测试 可靠性测试 方案 测试报告。
取消Surging生命周期管理机制,下面是改的地方之一
这里改过好几次,这里是把HTTP放到最后面,不然会阻塞进程(RPC无法启动监听),当然有其他的方法可以告诉我,没有花大量时间去读IServiceEngineLifetime
相关的代码
流程
有点长,慢慢看