今天在做一个登录模块,主要是从redis里面拉去登录消息,通过Protobuf解析出数据,然后经过一个存储过程来判断玩家账号情况,最后把登录的信息返回。在单开的情况下,每条消息的处理时间竟然达到了10ms。请问大神有没有其他缩短处理时间的方法。。通过log查到Protobuf处理的时间与mysql存储过程的时间长了点,其中Protobuf使用的是protobufjs
回复 (10)
A
引用 weierbufan@alsotang 大神。。有没有其他处理protobuf比较好的node包 来自酷炫的 CNodeMD
@weierbufan 就用这包就好啦。你可以对你的数据跑一下 protobufjs 的 benchmark 看看,如果处理时间就是这么长的话,那么对应你的web服务多开几个进程就好,这不是大问题。
W
X
https://github.com/sqfasd/node-serialization-benchmark @weierbufan 可以参照这个仓库的统计数据。protocol-buffers是更好的选择。
之前我还对比了用c addon实现的https://github.com/fuwaneko/node-protobuf,也没有protocol-buffers快
W
引用 alsotang我问了问同事,同事也说推荐 https://github.com/mafintosh/protocol buffers 试试 @xosuperpig @weierbufan 哦,上面那个就是我...
@alsotang 今天上午就换成了protocol-buffers果然速度有提升。。。谢谢啊哈哈
W
10ms处理一个。。。1秒才处理100个。。。怎么能提升到每秒处理800到1000????
W
难道是我问题描述的不清楚吗????怎么没人回答啊。。。
H
起用集群吧。
A
protobufjs 慢啊,多起几个进程吧
W
引用 alsotangprotobufjs 慢啊,多起几个进程吧
@alsotang 大神。。有没有其他处理protobuf比较好的node包
来自酷炫的 CNodeMD
A
参与回复
登录后即可参与回复。登录