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