选游戏服务器,行业里流传的几条“常识”,每一条都值得多问一句。核数越多越好?防御越高越安全?延迟越低越好?这三句话,各自只对了一半。
游戏是持续在线的业务,每个玩家都是一条长连接,服务端要不停处理请求和游戏逻辑,人一多,计算和内存的负载就跟着上去。玩家分布在不同地区,需要合适的网络接入;角色、背包、战绩这些数据要持续存储和同步,丢一条就是一次客诉;上线之后,还要面对异常流量和攻击,游戏恰好是攻击最集中的行业之一。
不存在适合所有游戏的配置。网页游戏请求短而频繁,压力在请求处理和数据库响应上;手机游戏并发连接多,玩家又常分布在多个地区;大型多人在线游戏要同步大量状态,计算和网络都吃紧;棋牌和休闲游戏单局数据不大,最怕的是掉线,还要防账号和业务层面的安全问题;做海外运营,则要看海外节点和国际线路。类型不同,服务器架构的出发点就不同。
“核数越多越好”,这个说法经不起推敲。不少游戏服务端偏重主线程,单核性能比核数更要紧;游戏引擎、服务端架构、每个实例的线程模型,都会影响资源需求,所以性能并不只取决于CPU核心数量。内存要按每个服务进程的占用乘以进程数,再加上缓存来估算,在线人数只是其中一个变量。硬盘优先选SSD或NVMe,存档和日志的读写、I/O延迟,直接影响玩家的卡顿感。
带宽看连接数和数据量,游戏数据包小而密,日常未必是瓶颈,更新包分发才是大头。物理服务器适合需要独享硬件、性能要稳定的场景,云服务器则适合起步阶段和需要弹性的业务。最可靠的办法是先用目标在线人数压测一个服务端实例,再倒推配置。
“延迟越低越好”也只对一半。衡量网络要看三个指标:Ping是往返时间,Jitter是延迟的波动,Packet Loss是丢包率。对玩家来说,抖动和丢包常常比平均延迟更伤体验:平均延迟低却忽高忽低,玩家会觉得角色在瞬移;丢包则会让数据同步出错,表现为回滚和断线。
不同类型的游戏,要求也不同。竞技、射击这类对延迟和抖动极其敏感;大型多人在线游戏能容忍稍高的延迟,却怕丢包造成状态不同步;棋牌和回合制对延迟不敏感,怕的是掉线。不同地区玩家的运营商不同,访问差异也大。测试时,用多地Ping,再用MTR连续探测一百个包左右,看丢包和抖动,务必在晚高峰做,并用真实客户端实际连一连。
以国内玩家为主,优先看玩家所在地区和三网覆盖;北美玩家为主,评估美国不同地区的数据中心;欧洲玩家为主,选欧洲本地节点,并看运营商接入;东南亚玩家为主,选离主要玩家群体最近的区域。玩家遍布全球的,要评估多地区节点部署,再用流量调度让玩家就近接入。
DDoS攻击带来的后果很直接:带宽被堵死,玩家集体掉线,流失就发生在这几个小时里。防护产品里,高防服务器是服务器本身带防护,防护与服务器绑定,适合稳定的主体业务;高防IP则是把流量先引到清洗节点,清洗后再回源,能隐藏源站,灵活一些,但多了一跳。流量清洗的核心,是识别并过滤攻击流量,只放行正常的玩家请求。
“防御数值越大越安全”,同样不能照单全收。要确认的是:防护范围覆盖哪类攻击,是流量型还是应用层CC;清洗在什么条件下触发;超过防护阈值会怎样;费用是否包含在内。恒讯科技的香港高防服务器页面就提供本地清洗和国际清洗两种套餐,页面写明本地清洗效果好,国际防护要绕道欧美,价格便宜但会影响访问速度。可见防护方式本身也会影响延迟,要和玩家体验一起权衡。高防产品的实际能力,取决于攻击类型、清洗容量、网络架构和服务条款,不能只凭一个数字判断。
服务器运行状态和网络连接要有监控,异常能第一时间发现;硬件故障要有排查和更换的渠道;游戏数据备份是重中之重,玩家数据库要定时备份,并存放在服务器之外;重启和系统维护要提前公告,选在玩家较少的时段;区服多了以后,每个区服的资源、版本和日志,需要统一管理,否则运维会越来越乱。
玩家规模上来,先增加计算资源;新区新服,按区服划分服务器资源,彼此隔离,互不拖累;游戏逻辑和数据库分离,数据库不再和服务端抢资源;用负载均衡分配业务请求;更新包和静态内容交给CDN分发,别让几百兆的更新包占满游戏服务器的带宽。
恒讯科技服务器产品适用网络游戏,部分美国服务器页面也介绍了游戏、棋牌和手机游戏的应用。游戏解决方案提到专属集群,称每个数据中心都配有万兆独立光纤和实时监控告警,硬防最高可达300G;高IO的独立云服务器,页面称平均读写可达1000Mb/秒;还有辽宁双线高防节点、国内BGP多线网络,以及用存储加CDN分发游戏更新包的方案。
产品层面,云服务器可弹性升级,物理服务器是独立处理器、内存和IP,高防服务器有本地和国际两种清洗方式,海外节点覆盖美国、欧洲和东南亚等地,带宽也有不同档位可选。运行监控方面,物理服务器页面介绍了一体化监控,高防服务器页面提到7×24小时值守。这些大多是页面上的功能描述,防御数值、读写性能和线路表现,都要结合自己的游戏做实际测试,不同节点和产品的防护额度也各不相同。
需要多少CPU和内存?
没有固定数字,先压测:用目标在线人数跑一个服务端实例,看它能带多少人,再倒推总量,并留足余量。
云服务器还是物理服务器?
起步、测试、区服多而规模小,云服务器灵活;单实例大、要求性能稳定、长期运营,物理服务器更踏实,常见做法是云服务器起步,成熟后核心区服迁到物理机。
延迟多少算合适?
看游戏类型,竞技类要低且稳,回合制和棋牌宽松得多,比起一个数字,更要看晚高峰时的抖动和丢包。
是否一定要高防?
不一定,但游戏是攻击高发行业,起步可以用基础防御配合监控,业务有了规模或者被攻击过,就该升级,别等被打了才找。
海外玩家选哪里?
玩家在哪就近选,北美选美国,欧洲选本地节点,东南亚选区域节点,分散的就多地部署加流量调度。
能否按在线人数扩容?
云服务器可以随时升配或增加实例,物理服务器扩容周期长,要提前规划,架构上把区服拆开,才方便按人数扩。
Copyright © 2013-2020. All Rights Reserved. 恒讯科技 深圳市恒讯科技有限公司 粤ICP备20052954号 IDC证:B1-20230800.移动站


