node处理登录的时候,处理过程时间太长。。求解答
发布于 6 年前 作者 weierbufan 3413 次浏览 来自 问答

今天在做一个登录模块,主要是从redis里面拉去登录消息,通过Protobuf解析出数据,然后经过一个存储过程来判断玩家账号情况,最后把登录的信息返回。在单开的情况下,每条消息的处理时间竟然达到了10ms。请问大神有没有其他缩短处理时间的方法。。通过log查到Protobuf处理的时间与mysql存储过程的时间长了点,其中Protobuf使用的是protobufjs

10 回复

10ms处理一个。。。1秒才处理100个。。。怎么能提升到每秒处理800到1000????

难道是我问题描述的不清楚吗????怎么没人回答啊。。。

起用集群吧。

protobufjs 慢啊,多起几个进程吧

@alsotang 大神。。有没有其他处理protobuf比较好的node包

来自酷炫的 CNodeMD

@weierbufan 就用这包就好啦。你可以对你的数据跑一下 protobufjs 的 benchmark 看看,如果处理时间就是这么长的话,那么对应你的web服务多开几个进程就好,这不是大问题。

@alsotang 恩。。谢谢指教。。

https://github.com/sqfasd/node-serialization-benchmark @weierbufan 可以参照这个仓库的统计数据。protocol-buffers是更好的选择。

之前我还对比了用c addon实现的https://github.com/fuwaneko/node-protobuf,也没有protocol-buffers快

我问了问同事,同事也说推荐 https://github.com/mafintosh/protocol-buffers 试试 @xosuperpig @weierbufan


哦,上面那个就是我同事

@alsotang 今天上午就换成了protocol-buffers果然速度有提升。。。谢谢啊哈哈

回到顶部