《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2 游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(9)

简介: 《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2 游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(9)

《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2   游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(8) https://developer.aliyun.com/article/1230985?groupCode=supportservice



3.2.2.3.4 排障思路

 

•采集编码慢问题


image.png


上图是黑屏中做的所有排查方向,核心的主线分为三类:  -OS内部问题——系统 (Guest OS)态 - 平台侧问题——底层(包含宿主机)相关 - 应用态问题——客户自身实 现的应用或最终玩家等其他平台不可控因素


黑屏问题的难度在于造成黑屏的原因太多了,或者说任一类问题造成的表象都可 能包含渲染黑屏,要解决黑屏问题首先的理解,黑屏是怎么产生的,屏幕画像的产生

 

来源于底层渲染计算生成的画面通过解码、封装、捕获等方式呈现出来,一旦出现异 常,最先怀疑的就是渲染计算的情况,所以对于黑屏:


•系统态排查

我们首先确认了当时系统内相关资源的使用率情况,发现都比较高,特别是 CPU资源与GPU资源方面,因为GPU的调度是需要利用CPU资源的(比如队列处理等 ),而游戏本身占用的CPU可能会很高(特别是3A大作),所以当CPU负载较高时会导 致GPU调度不了,形成了成像失败,最典型的情况就是CPU负载很高,GPU负载不 高,通过渲染类连接(比如调用了GPU的VNC界面)看是黑屏状态,但是通过RDP协议 访问却只是卡顿(因为CPU分配不足),这就是第一个系统态异常的怀疑点,下图为 GPU满是最终玩家感觉到黑屏时的任务管理器界面:

 

image.png


通过ProcessExplorer可以看到更具体占用GPU的情况:


image.png


通过对应进程获取相关堆栈信息,下图为CPU满时导致的黑屏与RDP卡顿(关于 RDP卡顿将在RDP卡顿中详讲)问题可以看到前面9core(客户使用的VM为定制版的9core)全部被对应游戏进程占了80%左右:


image.png


针对这种情况,建议根据排查出的游戏进程进行优化即可。


平台侧排查

关于第二点,前面说过,CPU使用率是云游戏场景中比较重要的指标,若有其他非 主观因素影响了CPU的使用也会导致黑屏几率上升,通过分析宿主机记录的Cache- line相关计数情况,  我们发现该客户云游戏VM的cacheline(当执行原子操作地址未对 齐时就会跨越两个cacheline进行传输,在Intel架构中将这种现象的量级定义为split- lock,而原子地址没对齐的场景,在Intel架构下是允许的,在诸如ARM架构下则是禁 止的;cacheline即CPU在处理数据时与内存映射地址进行通讯时的缓存通道,该通 道起到预存数据的作用,同一个cache 1 line的传输时延会下降)产生得特别多, Cacheline问题的不断上升触发了Cacheline一些限制措施,从而使得CPU使用被”压 住“,导致无法充分发挥CPU性能调度GPU资源来实现渲染,关于该问题对于技术服 务侧来说有更加方便的方式判断,也得益于众多阿里云先驱前辈的白屏化进程,使用 内部系统可以直接将具体时间线输出明确对比黑屏时间:


image.png


从底层宿主机看下是否存在一些基于Cacheline问题的限制,我们从当前case发 现确实存在Cacheline问题的限制,所以就进行了一些限制解除的实验,最终确认了 与Cacheline强相关,但是游戏厂商进程无法通过去壳手段来进行分析(也不在平台 分析范围内)  ,  所以对于游戏进程产生的cacheline交由客户与游戏厂商继续分析, 不过整体解除Cacheline限制后黑屏情况相较于优化性能后又再下一城。    ——  这一 点同时也是Log慢的核心原因

在某个案例可以看到经过两轮的优化,从一开始平均1k+下降到600+,再到

400+:

 

image.png


兼容性类排查


在解答这一点前,我们需要确认几个基础概念:


•视频相关API:主要用于捕获、加速渲染等作用的API,N卡常见的有:微软提 供的DDA(Desktop Duplication API)以及NV提供的NVFBC(NVIDIA® Frame Buffer Capture API)

•GRID:N卡的核心虚拟化技术,由NV开发与提供,也是N卡虚拟化主流的实现 方式,包含前后端驱动,GRID11、12均为GRID的版本

•TDR:Timeout Detection & Recovery ,GPU的调度超时相关指标,默认应用 程序请求GPU资源超过2s(可调)就会在日志中记录一条warning级的TDR,NVIDIA对 此也有相关解释,从GPU配置程序入手配置的话可见链接。



《泛娱乐行业技术服务白皮书》——三、泛娱乐典型业务架构与场景——3.2   游戏类泛娱乐——3.2.2 游戏泛娱乐技术服务(10) https://developer.aliyun.com/article/1230983?groupCode=supportservice

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
11天前
|
存储 缓存 API
探索后端技术:构建高效、可扩展的系统架构
在当今数字化时代,后端技术是构建任何成功应用程序的关键。它不仅涉及数据存储和处理,还包括确保系统的高效性、可靠性和可扩展性。本文将深入探讨后端开发的核心概念,包括数据库设计、服务器端编程、API 开发以及云服务等。我们将从基础开始,逐步深入到更高级的主题,如微服务架构和容器化技术。通过实际案例分析,本文旨在为读者提供一个全面的后端开发指南,帮助大家构建出既高效又具有高度可扩展性的系统架构。
|
11天前
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
156 7
|
21天前
|
运维 Cloud Native 安全
云原生技术:重塑现代IT架构的引擎
在当今数字化时代,企业正面临着前所未有的挑战与机遇。随着云计算技术的不断发展,云原生技术作为其核心驱动力之一,正在彻底改变企业的IT架构和运营模式。本文将深入探讨云原生技术的内涵、特点及其对企业数字化转型的影响,揭示其在现代IT架构中的核心地位和作用。同时,我们还将分析云原生技术面临的安全挑战,并展望未来的发展趋势,为企业在云原生领域的实践提供有益的参考。
|
22天前
|
负载均衡 5G 网络性能优化
深入解析LTE(长期演进技术)的基本架构及其关键组件
深入解析LTE(长期演进技术)的基本架构及其关键组件
115 2
|
24天前
|
Cloud Native 持续交付 云计算
云原生技术:重塑软件开发与架构的未来
在云计算的推动下,云原生技术正逐渐成为软件开发的新标准,强调利用容器、服务网格、微服务等技术实现敏捷开发与高效运维。本文探讨了云原生技术如何重塑软件开发与架构的未来,介绍了其核心概念(如容器化、微服务架构、CI/CD)及优势(如敏捷性、可扩展性、成本效益),并讨论了其在金融服务、电子商务和物联网等领域的实际应用及面临的挑战。尽管存在技术复杂性和人才短缺等问题,云原生技术仍将成为软件开发的主流趋势。
|
16天前
|
存储 监控 容灾
微信技术总监谈架构:微信之道——大道至简(演讲全文)
在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。 周颢把微信的成功归结于腾讯式的“三位一体”策略:即产品精准、项目敏捷、技术支撑。微信的成功是在三个方面的结合比较好,能够超出绝大多数同行或对手,使得微信走到比较前的位置。所谓产品精准,通俗的讲就是在恰当的时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式推出去。他认为在整个微信的成功中,产品精准占了很大一部分权重。
41 1
微信技术总监谈架构:微信之道——大道至简(演讲全文)
|
2天前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
2天前
|
Kubernetes Cloud Native 云计算
云原生时代的技术演进:Kubernetes与微服务架构的完美融合
随着云计算技术的飞速发展,云原生概念逐渐深入人心。本文将深入探讨云原生技术的核心——Kubernetes,以及它如何与微服务架构相结合,共同推动现代软件架构的创新与发展。文章不仅剖析了Kubernetes的基本工作原理,还通过实际案例展示了其在微服务部署和管理中的应用,为读者提供了一条清晰的云原生技术应用路径。
10 2
|
14天前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性
微服务架构中,如何确保服务之间的数据一致性
|
17天前
|
监控 Android开发 iOS开发
深入探索安卓与iOS的系统架构差异:理解两大移动平台的技术根基在移动技术日新月异的今天,安卓和iOS作为市场上最为流行的两个操作系统,各自拥有独特的技术特性和庞大的用户基础。本文将深入探讨这两个平台的系统架构差异,揭示它们如何支撑起各自的生态系统,并影响着全球数亿用户的使用体验。
本文通过对比分析安卓和iOS的系统架构,揭示了这两个平台在设计理念、安全性、用户体验和技术生态上的根本区别。不同于常规的技术综述,本文以深入浅出的方式,带领读者理解这些差异是如何影响应用开发、用户选择和市场趋势的。通过梳理历史脉络和未来展望,本文旨在为开发者、用户以及行业分析师提供有价值的见解,帮助大家更好地把握移动技术发展的脉络。