Closed JanusSpark closed 2 years ago
版本"ssr-core-vue3": "^6.2.13"
发布后遇到线上直出页面回退回csr渲染的情况,司内机器监控未见异常,内存也未溢出,重启后恢复,怀疑还是和内存溢出相关
使用clinic+autocannon进行本地压测排查
可以看出内存的增长有去无回 使用clinic heapprofiler看下堆栈
容易看出 问题主要在 ssr-core-vue3 的commonRender的require使用 编译后的js代码
这里的require最后没有被释放
简单修改一下 新的压测结果
所以应该是这里每次调用commonRender之后重复require文件没有释放导致内存溢出上面的viteRender应该也会有一样类似的问题,具体的修改逻辑这里就不继续写了,比如commonRenderServerRender应该还是要按照chunkName来做一个map也好还是其他逻辑也罢,应该不能是单独一个文件的结果
给复现基础库问题你用默认的example随随便便用ab压一下就知道了,这里没发现问题
这里命令跑错了- -直接用node执行dist目录下的js的时候没带 NODE_ENV=production ,目前看这里没问题
版本"ssr-core-vue3": "^6.2.13"
发布后遇到线上直出页面回退回csr渲染的情况,司内机器监控未见异常,内存也未溢出,重启后恢复,怀疑还是和内存溢出相关
使用clinic+autocannon进行本地压测排查
可以看出内存的增长有去无回 使用clinic heapprofiler看下堆栈
容易看出 问题主要在 ssr-core-vue3 的commonRender的require使用 编译后的js代码
这里的require最后没有被释放
简单修改一下 新的压测结果
所以应该是这里每次调用commonRender之后重复require文件没有释放导致内存溢出上面的viteRender应该也会有一样类似的问题,具体的修改逻辑这里就不继续写了,比如commonRenderServerRender应该还是要按照chunkName来做一个map也好还是其他逻辑也罢,应该不能是单独一个文件的结果