本文只提供了一些手机游戏服务器的优化措施,有些是用在不同的场合,而不是同一个架构。需要根据应用场景选择合适的方法!
手机游戏服务器的注意事项及优化措施。
1.IO操作是最大的性能消耗点,要注意大的优化空间。
2.算法数据结构。排序路由算法的优化。list,vector,hashmap的选择。对于大数据寻址,考虑hash而不是遍历。
3.内存管理。过载新/删除、内存池和对象池的处理。
4.提前准备和计算数据。
5.CPU的统计监控。逻辑帧数(应在50毫秒内)。
6.预分配池减少了切换和调度、预处理线程池和连接池等。
7.基本和消息队列的统计和信息监控框架。
8.CPU消耗排名,第一AOI同步,第二网络承包I/O操作,第三技能/BUFF判断计算处理,第四定时器频率。
9.内存泄漏检测,内存访问越界警戒,内存碎片恢复。
10.内存消耗排名,第一玩家对象包含其物品,第二网络数据缓冲区。
11.注意32位和64位内存容错。
12.减少不必要的分包。
13.降低重复包和重复包的成本。
14.建议分应急包(即时发)和非应急包(定期轮训发)。
15.带宽消耗排名、第一移动位置同步、第二对象加载、第三登录突发包和第四状态机定时器消息。
16.客户可以做一些预判机制,有些操作可以尽量分包发送。
17.当大量玩家聚集时,一些非应急包被丢弃。
18.注意数据库的单个表中的key数量。
19.活动用户和非活动用户的拆分访问处理。
20.控制玩家操作对数据库的操作频率。
21.注意通过共享内存的方式对数据进行安全备份和存储。
22.注意安全策略,检查内网的IP,记录日志,任意两个环点使用加密算法会更好。
23.注意实时监控网关、数据库等接口。
24.计时器应该存储一个队列,而不是单向定位。
25.九宫格的数据同步,不需要直接同步九宫格,人物加了一个AOI。基于圆碰撞原理,丢弃不必要的网格信息,可以节省很多。
26.客户端做部分预测机制,服务器检测时注意时间戳。
27.定期心跳包,检查死链接是必要的。
28.为了更好的负责各种AI,需要为AI路由设计一个独立的服务器。第二要考虑的是聊天和同步。
29.服务器内部网之间可以考虑UDP。
30.注意所有内存池和对象池的动态扩展和分配。
(1)、用内存换CPU的想法。
②.NPC不死理念。(只会disable)
③动态扩展概念和负载均衡理念。
④客户端不可信理念。。
⑤指针数据和消息不可信的理念。
⑥尽量对客户端进行最严格的验证,阻止不必要的请求。
⑦可以放在客户端的功能可以在客户端实现,由服务器验证。
Vecloud拥有十年游戏运营经验,全球50+CN2顶级网络,千余+个CDN节点资源,包括并不仅限于中国香港,美国,日本,韩国,新加坡,马来西亚等多个国家直接CN2高速专线接入。无条件免备案,提供智能化ddos防护升级,负载均衡优化,数据库集群服务及建议,高防CDN节点布局优化等一系列高品质服务,打造适合企业稳抓客户布局全球的全能型游戏解决方案。详询VeCloud 客服 。