关于游戏服务器性能问题的几点思考(1)

对于一个服务器程序来说,性能指标无非有CPU负载、内存消耗、I/O回写压力、网络包的流量等,目前测试组的测试都是在公司内网来做的,所以,网络包的流量不是瓶颈,但从测试的结果来说,这块恰好是我们的短板。我在想,有几个地方可能是我们可以优化的地方:

(1)字节序的转换问题:游戏服务器的内部架构与部署一般有二层或三层,即一个游戏大区包含若干台游戏逻辑服务器。在实际运营时,这些物理机器一般都是x86的,这样网络消息包在服务器内部进行传递时,可以省掉字节序转换这个步骤了,而经测试证明,这步往往消耗较大的CPU;

(2)消息包的加解包与内存拷贝问题:服务器程序在发送消息包时,尽量减少不必要的内存拷贝,能通引用填充的尽量应用同一内存空间引用来完成;

(3)视野广播消息的定制问题:广播消息包是比较消耗下行流量的,所以可以根据实际业务需求来定制广播包的数量,而不要统一全部广播玩家视野里所有对象,因为这样会造成下发无谓的消息包,比如:玩家视野里所有的怪物是不需要发送任何消息包的,另外,视野中的某些特定的玩家也不需要收到广播包;

先总结这几点吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注