今天在做一个登录模块,主要是从redis里面拉去登录消息,通过Protobuf解析出数据,然后经过一个存储过程来判断玩家账号情况,最后把登录的信息返回。在单开的情况下,每条消息的处理时间竟然达到了10ms。请问大神有没有其他缩短处理时间的方法。。通过log查到Protobuf处理的时间与mysql存储过程的时间长了点,其中Protobuf使用的是protobufjs
10ms处理一个。。。1秒才处理100个。。。怎么能提升到每秒处理800到1000????
难道是我问题描述的不清楚吗????怎么没人回答啊。。。
起用集群吧。
protobufjs 慢啊,多起几个进程吧
@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快
@alsotang 今天上午就换成了protocol-buffers果然速度有提升。。。谢谢啊哈哈