node-pinus / pinus

A fast,scalable,distributed game server framework for Node.js, Powered by TypeScript. 一个TypeScript写的node.js分布式游戏/应用服务器框架(原型基于pomelo)。
https://pinus.io
MIT License
1.81k stars 375 forks source link

connector性能瓶颈 #778

Open adjsnlxx opened 1 year ago

adjsnlxx commented 1 year ago

对于实时对战游戏,状态同步,每秒20个数据包,单个connector 只能支持100在线,cpu占用 50% 不知大佬们有什么优化方案? 还是说使用其他语言实现connnector,但怎么融入到pinus框架呢

wangjunxiao0207 commented 1 year ago

有没有分析具体哪个逻辑是瓶颈,你这CPU 50%,还有很大的提升空间

adjsnlxx commented 1 year ago

image 目前主要发现是在send

adjsnlxx commented 1 year ago

connector 只有接收客户端的消息,转发到game服。还有接收game服,转发给客户端

whtiehack commented 1 year ago

有没有试过关掉protobuf ? 感觉可以先关掉protobuf 试试. 之前我们测试大量cpu是被protobuf占用掉的 理论上来讲. connector只做消息转发的话消耗是很少的

adjsnlxx commented 1 year ago

有没有试过关掉protobuf ? 感觉可以先关掉protobuf 试试. 之前我们测试大量cpu是被protobuf占用掉的 理论上来讲. connector只做消息转发的话消耗是很少的

看占比,protobuff并不高,在encode/decode上

whtiehack commented 1 year ago

你这个是什么工具跑的? 我记得当前我用的 chrome的 inspect.

adjsnlxx commented 1 year ago

你这个是什么工具跑的? 我记得当前我用的 chrome的 inspect.

easy-monitor

whtiehack commented 1 year ago

你检查一下是不是你的带宽跑满了.