下面是我简短的代码描述:
let store = await getStore(); // http.get(xxx)
let content = renderToString(React.createElement(Component, store));
ctx.render(tpl, {
Content: content,
Store: store
});
使用这段代码QPS一直在200以下。 但是删除renderToString这行代码QPS能到快600.
然后,我在renderToString的前后,记录了执行事件,得到的结果是不超过10ms。也就是可以忽略不计。
表现的结果就是,加renderToString会导致getStore()这个接口请求变得非常慢。
最后,求解救!谢谢~
回复 (6)
Y
引用 lzszone@yansong 是什么问题可以分享一下吗,最近也在学serverrender
@lzszone 然后,我在renderToString的前后,记录了执行事件,得到的结果是不超过10ms。 就这句话上。
L
引用 yansong@lzszone 然后,我在renderToString的前后,记录了执行事件,得到的结果是不超过10ms。 就这句话上。
@yansong 啊?是不是有漏掉内容
来自酷炫的 CNodeMD
Y
说明一下,
- react目前用的是0.14.8,尝试过使用15.6.0。问题依旧。
- CPU肯定是100%
- 内存的话,使用renderToString,使用率反而不高。
- 网络的话,使用renderToString, 出口带宽使用率反而更低。
Y
问题找到了,关闭
L
@yansong 是什么问题可以分享一下吗,最近也在学serverrender
Y
引用 lzszone@yansong 啊?是不是有漏掉内容 来自酷炫的 CNodeMD
@lzszone 1000/10 === 100 所以单核QPS不可能上得去,瓶颈就是React渲染。
参与回复
登录后即可参与回复。登录