关于王者荣耀开发中高并发问题分析
本文和大家分享一个很有趣的话题是关于王者荣耀开发中高并发问题,希望能给大家带来解决此类问题的思路,下面我们就一起来学习一下关于王者荣耀开发中高并发问题分析。
“王者荣耀”是一款国民级手机游戏,用户体量巨大,而且一直保持着较高的更新频率。这种业务场景下,突发也变得非常频繁,然而业务体验是至关重要的,使用CDN必不可少。类似地,经常有带宽突发的场景,比如新闻爆点视频、大型直播活动、热门影视剧上线、热门游戏等应用发布。同时,由于家庭带宽和移动网络的快速升级,突发带宽量级越来越大,经常达到Tb级,甚至10Tb 。如何快速、低成本地保障业务突发,成为CDN的一大挑战。
堪称中国最火爆的手机游戏“王者荣耀”,拥有亿级用户体量,千万级日活用户,如何快速、低成本地保障业务突发?本文从该问题出发,论述了问题对应的解决方案,并对其效果做出总结。
背景
2007年,腾讯自建CDN启用,接入了第一个业务腾讯网。到现在CDN带宽量级,从最早的数十Gb,发展到现在的数十Tb;单业务的带宽也越来越大,大部分业务常量带宽在几百Gb,部分突发业务达到了10Tb。网络的快速升级,移动用户爆发式增长,以及视频类业务包括点播和直播的兴起,使得业务突发越来越频繁,突发带宽越来越高,对CDN的要求也越来越高。
自建CDN得益于腾讯业务的蓬勃发展,先后支持了游戏下载、流媒体视频加速、春节红包等腾讯内部业务;2014年腾讯将CDN全面能力开放,成为腾讯云CDN产品,除承载内部业务外,也开始接入第三方客户,比如快手点播、斗鱼直播等。以上各种业务都有突发场景,也有很强的成本诉求,在如何低成本地保障业务突发,腾讯CDN积累了丰富的经验。接下来就挑战和问题、解决方案、效果三个方面来解析。
一、挑战和问题
下面将从业务特点开始,分析目前存在的挑战和问题。
1、 业务特点和挑战
CDN多样化的场景,注定了突发业务充满挑战。突发业务具有体量大、场景多样化、 无规律等特点。
a) 体量大:突发业务带宽大部分都超过Tb,部分甚至达到了10T ;
b) 场景多样化:点播中的热剧和新闻爆点;直播中的LOL/KPL/DOTA2等游戏直播,NBA/世界杯等体育直播,演唱会等综艺直播;应用下载中的王者荣耀等游戏下载;静态网页加速中的红包活动、电商促销等;
c) 无规律:部分突发活动无法预知,活动快要开始或已经开始了才知道,比如新闻爆点。
体量大,需要准备更多的资源;场景多样化,需要满足不同的资源需求;无规律性则对我们的扩容效率提了很高的要求。
2、 目前存在的问题
仅仅为了满足业务突发需求而储备大量的资源,成本太高,会造成资源极大的浪费。所以一般会通过复用资源来应对业务突发。但是直接复用资源,存在两个问题:
a) 只能复用部分资源:CDN业务,一般按业务类型来区分平台和资源使用,主要原因是不同业务类型对资源需求不同,比如点播类需要更多的存储;有较多https请求的静态页面类,则需要更多CPU资源。这种限制使得资源无法充分利用,加大了资源准备的难度。比如视频突发主要使用视频Buffer,而下载类和网页类Buffer无法直接使用,这限制了Buffer的大小。即使复用同类型资源,因为涉及多个业务资源的协调,准备时间一般会超过两天,无法应对临时突发;
b) 无法降低成本:另外针对部分突发业务,比如游戏应用下载,带宽高峰期在上午和中午,如果只使用本平台资源,会导致结算带宽明显上涨,从而增加成本。无法利用同其他业务错峰的特点来降低结算带宽。
二、解决方案
腾讯云CDN通过虚拟化复用现有资源,搭建全业务通用的突发池,所有平台共享Buffer。 突发池中的设备为Docker虚拟机,虚拟机有不同的规格,只要业务有需求,都可以按需使用。突发池中的带宽储备达到了10Tb,基本能满足所有业务突发需求 。任何业务有突发需求,配合自动化上架接口,可在10分钟完成10Tb突发池的扩容。
突发池系统架构
a) 突发池:在各平台物理机的上层,由Docker虚拟机组成的资源池,对CPU/内存/磁盘等使用进行了限制,防止对物理机造成影响。原有业务依然部署在物理机上,不用调整。
b) 自动化部署和监控系统: 能根据业务实际需求,自动预测需求并扩容 。所有的突发需求,都能在10分钟内扩容完成。针对点播/下载业务,自动分发热点文件,降低回源带宽。
c) 调度系统:突发业务的突发性和体量大两个特点,使得相比域名调度系统,直通车更占优势。直通车调度更灵活,生效时间快,能达到分钟级。
虚拟机和物理机部署了上报Agent,业务信息和服务器负载每分钟都会上报到监控系统。监控系统会根据历史带宽预测一个值,并与当前带宽比较,如果当前带宽超过预测值的50%,则认为有突发。根据带宽上涨的比例,系统会自动从突发池中扩容相应数据的设备。针对提前准备的突发活动,运维可以指定带宽需求量,之后系统便会自动计算设备需求并扩容。
分钟粒度上报的服务器负载信息则为监控系统做调度决策提供了依据。系统会依据机房剩余带宽、服务器带宽、CPU、IO等综合信息决定虚拟机是否需要从直通车中启用或者禁用。用户访问时先请求直通车调度系统,直通车会根据调度策略返回一个302地址,302地址中为实际CDN资源地址。用户跳转到302地址,并获取实际内容。
2、技术优化
使用虚拟化技术复用资源的重要前提是,不影响现有业务。这就要求对资源有充分的隔离,比如CPU/磁盘,以及对带宽的使用。下面是实现过程中存在的几个问题及解决方案:
● 精准控制单机负载:负载过高会影响业务质量,需要对单机负载进行精准的控制。
解决方案:
a) 配额系统:直通车中有配额系统,对每个虚拟机可使用的资源做了限制,包括CPU/IO和带宽。监控系统中上报的信息,结合配额系统,可以确保服务器负载被限定在制定的范围内,粒度为分钟级。
b) 部分请求返回302:对CPU/带宽/IO等做了限制后,应用程序能根据母机当前负载,实时判断是否处理一个请求。如果负载在限制范围内,直接处理;如果负载超出限制,则返回302,使用户跳转到直通车的调度地址,这样能在尽量不影响业务质量的情况对负载做精准控制。程序层面对负载的实时控制,是配额系统的有效补充。
c) 网卡流量控制:在极端情况下,业务带宽超过设定阈值,这时虚拟网卡会主动丢包,避免对母机造成影响。
● 限制磁盘大小:Docker在ext3/ext4文件系统中无法对文件/目录级别进行磁盘大小限制。
解决方案:
由于腾讯云CDN业务基本都是使用ext3/ext4文件系统,这种情况下Docker只能对根据用户或用户组对磁盘进行限制,但现网业务都是直接在root环境下使用。这里我们使用loop device来解决磁盘大小限制问题。虚拟机中突发业务使用挂载在loop device上的目录,这样就可以间接限制磁盘大小,防止使用太多磁盘影响其他业务。
● CPU绑定:默认是绑定所有CPU,部分单CPU负载高会影响母机业务。
解决方案:
通过脚本每分钟采集一次系统所有单CPU负载,为避免频繁调整和受毛刺数据影响,取15分钟的均值。最后选取负载较低的部分核,并通过配置文件cpuset.cpus来动态绑定,将虚拟机对母机业务影响降低到最小,并且能充分利用资源。
突发池上线后,高效支持了王者荣耀下载、NBA直播、KPL/LPL游戏直播等多次大型突发活动,节约成本2000万。通过共享buffer,搭建突发池能显著提高突发能力和降低成本。
总结
腾讯云CDN,通过Docker技术复用资源,搭建Tb级别突发池,能支持直播、点播、静态等各种业务突发,能自动检测到业务突发需求并在10分钟内完成资源扩容,具有发布快,成本低等特点。资源复用能提高资源利用率,为业务提供极大的突发池,但要注意复用业务之间不能相互影响,这需要对服务器进行实时的监控和及时的调度。另外还有一些待改进的地方,比如内核参数基于容器隔离,方便不同业务调优;部分业务客户端不支持302跳转,调度系统需要支持域名调度方式。
相关推荐:
以上是关于王者荣耀开发中高并发问题分析的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

荣耀Magic旗舰新品发布会今日在深圳湾体育中心“春茧”体育馆举行,荣耀MagicV3、荣耀MagicVs3,荣耀平板MagicPad2、荣耀MagicBookArt14在内的四款Magic旗舰新品正式发布,为消费者带来惊喜。作为真正实现轻薄强大合体的折叠旗舰,越强大越轻薄的荣耀MagicV3成为荣耀又一科技创新里程碑之作,是极致科技的最尖端展现。此次,荣耀MagicV3跨界创新带来行业首个轻薄折叠屏解决方案荣耀鲁班架构,采用19种创新材料及114种创新微型结构,折叠态机身减薄至9.2mm,再次

6月3日消息,荣耀官方已经宣布,将于6月13日19:30正式发布旗下首款小折叠旗舰——荣耀MagicVFlip。官方最新还公布出了新机三款配色的外观,让大家可以提前一睹真容,分别有鸢尾黑、香槟粉、山茶白三款配色。可以看到,荣耀MagicVFlip机身非常纤薄,应该是主打轻薄设计,重量上预计会在180g以内。该机最大的亮点就是背部的超大尺寸副屏,除了镜头的挖孔之外铺满了整块区域,打造出了全面屏的效果,闪光灯则被放到下半部分。这样的设计会让背部副屏的可用度大大提升,不再仅仅是简单的回复

昨日,荣耀宣布荣耀X60i上架,目前已经开启预约,将于7月26日上午10:08正式开启预售。先来看看外观配置怎么样~如上图所见,荣耀X60i采用一块类似灵动岛形状居中挖孔的直屏、直角中框,背部是浴霸双摄,右侧应该是闪光灯,很有iPhone的调调~荣耀X60i配置处理器:联发科天玑6080电池:5000mAh,35W充电屏幕:6.7英寸1080PLCD屏指纹识别:侧边指纹机身:厚约7.18mm,重约172g前置摄像头:8MP后置摄像头:50MP+2MPfenye

本站7月12日消息,荣耀Magic旗舰新品发布会在深圳举行,推出了“更轻更薄更AI”的全新高端旗舰轻薄本荣耀MagicBookArt14,以及轻薄折叠旗舰荣耀MagicV3、荣耀MagicVs3、荣耀平板MagicPad2等全线旗舰家族新品。作为荣耀首款高端旗舰轻薄本,荣耀MagicBookArt14集极致轻薄、灵动慧眼、护眼屏、影音体验及高效强大的AI能力等产品特性于一身。荣耀MagicBookArt14售价7999元起,7月12日16:18全渠道开启预售,7月26日10:00正式首销。荣耀C

一、前言:荣耀推出旗舰平板新品带来4320Hz高频调光OLED屏幕前段时间,“下载看电影已成年轻人的小众行为”、“Steam代安装”相关搜索词条冲上热搜,对于大部分人可能一笑而过,这一现象的背后其实反应出来用户的使用设备发生了变化。权威数据显示,2022年未成年人群体使用的设备中,手机以超91.3%的上网比例独占鳌头,而平板电脑以45.5%的份额紧随其后,台式电脑和笔记本的使用率分别为33.2%和31.7%,与2021年相比呈现出明显的下降趋势。这一变化的根

您家里装摄像头了吗?近些年,家用摄像头产品一下就成了爆款。我问了身边的小伙伴们,好家伙~居然每家都有,甚至有的还不止一台。但随着产品的普及,也随之带来了一些使用过程中的吐槽点。比如同一时间只能看到一个地方,再想看其他地方还得来回调整云台旋转摄像头,观看画面有一定的盲区和时间差;或者想仔细看看家中某个位置时,发现画面模糊根本看不清晰;等等......在体验上大打折扣。荣耀亲选与小湃科技共同推出荣耀亲选小湃智能摄像头Pro主打"三镜头双画面"。为行业及用户痛点提供了全新的解决思路

6月13日消息,今晚7点半,荣耀MagicVFlip正式登场。继此前荣耀MagicV2成为行业最轻薄大折叠之后,荣耀MagicVFlip再一次刷新了小折叠的轻薄记录,展开厚度7.15mm、折叠厚度14.89mm,重量193g。搭载旗舰级荣耀鲁班铰链,通过瑞士SGS高可靠性折叠品质认证的同时,为用户带来轻薄、耐用与稳定兼顾的使用体验。机身轻薄的同时荣耀MagicVFlip还配备了行业最大尺寸的外屏,高达4.0英寸,边框仅为2.87mm,实现了破纪录的85%外屏屏占比,带来极强的视觉震撼。同时,超大

7月21日消息,荣耀MagicV3、荣耀MagicVs3两款折叠屏旗舰于7月19日全渠道开售,售价6999元起。根据荣耀终端有限公司中国区CMO姜海荣发布的首销战报,荣耀MagicV3系列打破了过去一年大折叠屏首销日销量及销售额纪录。海报显示,对比对象为2023年7月20日至2024年7月19日上市的所有大折叠屏手机。fenye1.卫星通信:荣耀MagicV3支持荣耀鸿燕通信技术,实现天通卫星双向语音通话和短信收发功能。荣耀MagicVs3不支持卫星通话。处理器:荣耀MagicV3搭载骁龙8Ge
