最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《生死狙擊》研發(fā)商無端科技使用RDS倚天ARM架構(gòu)數(shù)據(jù)庫,實(shí)現(xiàn)增效降本

2023-06-25 10:47 作者:阿里云瑤池?cái)?shù)據(jù)庫  | 我要投稿

案例速覽



行業(yè):互聯(lián)網(wǎng)游戲

挑戰(zhàn):在游戲場景下,安全、穩(wěn)定和高性能是選擇數(shù)據(jù)庫的重要考量,以支持游戲平臺和游戲開發(fā)者提供優(yōu)質(zhì)的游戲體驗(yàn)和用戶服務(wù)。在滿足穩(wěn)定和性能的前提下,需技術(shù)手段降本增效幫助節(jié)約IT成本,并實(shí)現(xiàn)業(yè)務(wù)的無感切換和平滑遷移。

解決方案與產(chǎn)品:RDS倚天ARM架構(gòu)數(shù)據(jù)庫

成果:

  • 降本增效,基于RDS ARM架構(gòu)的數(shù)據(jù)庫成本大幅下降,并保證性能和穩(wěn)定性相當(dāng),達(dá)到客戶降本增效的訴求;

  • 業(yè)務(wù)平滑遷移,在應(yīng)用0改造的基礎(chǔ)上,實(shí)現(xiàn)業(yè)務(wù)無感平滑遷移,幫助客戶實(shí)現(xiàn)遷移和優(yōu)化改造;

  • 高并發(fā)訪問,RDS倚天ARM架構(gòu)幫助客戶穩(wěn)定度過多次大型活動(dòng),穩(wěn)定性和性能表現(xiàn)優(yōu)異。

背景

無端科技成立于2010年,是國內(nèi)一流的休閑競技游戲研發(fā)商(是國內(nèi)領(lǐng)先的集研發(fā)與運(yùn)營為一體的射擊游戲廠商)。公司先后在網(wǎng)頁、手機(jī)、客戶端平臺自研和發(fā)行10余款游戲產(chǎn)品,其中射擊頁游《生死狙擊》全球累用戶超5億,月活躍用戶達(dá)3000萬,首款自研次世代暢爽射擊端游《生死狙擊2》于2022年上線。

業(yè)務(wù)挑戰(zhàn)

無端作為國內(nèi)一流的游戲研發(fā)商,在游戲研發(fā)過程中,不光要考慮到游戲研發(fā)的效果,還要兼顧游戲投入成本,在保證游戲穩(wěn)定搞下運(yùn)行的前提下,依賴技術(shù)手段降低整體的成本是一直在探索的方向,其中游戲場景主要包括了游戲服和大廳服,游戲服承載了核心的游戲業(yè)務(wù)邏輯,大廳服作為登錄,支付,商店等的核心應(yīng)用承載場景,對穩(wěn)定性和性能的要求很高,尤其是在一些游戲活動(dòng)和賽季中,會有瞬時(shí)的高并發(fā)流量,對游戲的整體架構(gòu)和性能負(fù)載都有很大的挑戰(zhàn),其中游戲架構(gòu)中核心內(nèi)容如下:

  1. 服務(wù)器場景:物理服務(wù)器架構(gòu)通常用于大型多人在線游戲,它通過將游戲服務(wù)器置于物理服務(wù)器上,提供高可用性和高性能的游戲體驗(yàn)。這種架構(gòu)需要大量的硬件、軟件和網(wǎng)絡(luò)資源來支持。

  2. 分布式場景:分布式架構(gòu)采用多個(gè)節(jié)點(diǎn)來實(shí)現(xiàn)游戲的分布式處理。這種架構(gòu)可以提高游戲的性能和可擴(kuò)展性,同時(shí)也能夠提供更好的容錯(cuò)性,防止游戲崩潰。

  3. 數(shù)據(jù)庫場景:游戲場景中的數(shù)據(jù)庫一般采用關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的混合使用。關(guān)系型數(shù)據(jù)庫可以提供事務(wù)的支持,而非關(guān)系型數(shù)據(jù)庫可以提供高可用性和高讀寫性能的支持。

  4. 客戶端場景:隨著移動(dòng)設(shè)備的普及,移動(dòng)端和PC端技術(shù)也成為了游戲場景下的一個(gè)重要技術(shù)。移動(dòng)端技術(shù)主要包括移動(dòng)應(yīng)用開發(fā)、移動(dòng)游戲開發(fā)、移動(dòng)網(wǎng)頁開發(fā)等方面的技術(shù)。

基于以上的游戲場景,游戲架構(gòu)下主要有以下需求:

  1. 高并發(fā):游戲場景下的互聯(lián)網(wǎng)技術(shù)架構(gòu)需要支持大量用戶同時(shí)訪問和使用游戲服務(wù),因此架構(gòu)需要具備高并發(fā)處理能力,同時(shí)保證游戲服務(wù)的穩(wěn)定性和可用性。

  2. 實(shí)時(shí)性:大多數(shù)游戲都需要實(shí)時(shí)處理和響應(yīng)玩家的操作,因此游戲場景下的互聯(lián)網(wǎng)技術(shù)架構(gòu)需要具備快速的實(shí)時(shí)處理能力,可以保證玩家在游戲過程中獲得流暢的體驗(yàn)。

  3. 安全性:游戲場景下的互聯(lián)網(wǎng)技術(shù)架構(gòu)需要具備高強(qiáng)度的安全性措施,以保護(hù)用戶隱私和游戲數(shù)據(jù)的安全。這包括權(quán)限控制、數(shù)據(jù)加密、防火墻等多種安全技術(shù)。

  4. 可擴(kuò)展性:游戲場景下的互聯(lián)網(wǎng)技術(shù)架構(gòu)需要具備高度的可擴(kuò)展性,可以支持新增功能和服務(wù),同時(shí)支持大規(guī)模的用戶增長。

  5. 靈活性:游戲場景下的互聯(lián)網(wǎng)技術(shù)架構(gòu)需要具備靈活性,可以快速適應(yīng)不同類型的游戲需求和用戶需求。架構(gòu)需要支持快速迭代和定制化開發(fā),以滿足不同游戲的需求。

因此,在游戲場景下,安全、穩(wěn)定和高性能是選擇數(shù)據(jù)庫的重要依據(jù),以支持游戲平臺和游戲開發(fā)者提供優(yōu)質(zhì)的游戲體驗(yàn)和用戶服務(wù)。在滿足穩(wěn)定和性能的前提下,實(shí)現(xiàn)技術(shù)手段降本增效能幫助客戶很好的節(jié)約IT成本,并且需要實(shí)現(xiàn)業(yè)務(wù)的無感切換和平滑遷移。

產(chǎn)品 & 解決方案

RDS倚天ARM架構(gòu)

RDS MySQL的ARM架構(gòu)相對于傳統(tǒng)的X86架構(gòu),在計(jì)算性能和能耗效率上具有較大的優(yōu)勢。阿里云RDS產(chǎn)研團(tuán)隊(duì)投入大量的研發(fā)資源,逐步優(yōu)化ARM架構(gòu)數(shù)據(jù)庫的性能,使其可以更加穩(wěn)定、高效地運(yùn)行。隨著技術(shù)逐步成熟,成本也相應(yīng)降低,這使得降價(jià)成為了一個(gè)可行的選擇。其次,伴隨著信息化轉(zhuǎn)型的改革浪潮以及云計(jì)算的蓬勃發(fā)展,越來越多的企業(yè)開始將數(shù)據(jù)庫遷移到云上,對于高性能、低成本的云數(shù)據(jù)庫訴求也越來越多。阿里云RDS倚天ARM架構(gòu)通過技術(shù)手段實(shí)現(xiàn)降本可以更好地滿足市場客戶需求,作為企業(yè)數(shù)據(jù)資產(chǎn)的重要載體,數(shù)據(jù)庫的高性價(jià)比可以明顯地降低企業(yè)TCO。

硬件層面

Prefetch預(yù)取策略優(yōu)化

倚天710上默認(rèn)的Prefetch預(yù)取策略不適合數(shù)據(jù)庫的訪問場景,RDS產(chǎn)研團(tuán)隊(duì)和平頭哥芯片團(tuán)隊(duì)一起進(jìn)行了針對性的調(diào)整,從預(yù)取算法的選擇,預(yù)取量的控制,預(yù)取過程中對L2的使用等方面,選取了一組最適合數(shù)據(jù)庫場景的預(yù)取策略。

OS層面

為了更好適配ARM架構(gòu),RDS內(nèi)核團(tuán)隊(duì)和OS團(tuán)隊(duì)一起,根據(jù)ARM架構(gòu)倚天710特點(diǎn)在OS上進(jìn)行了深度調(diào)優(yōu)。

調(diào)度算法優(yōu)化

自Linux內(nèi)核版本2.6.23以來,CFS(Completely Fair Scheduler)成為默認(rèn)的Linux內(nèi)核調(diào)度程序。CFS為了保證對每個(gè)可運(yùn)行任務(wù)的公平處理,會通過累計(jì) vruntime,保證任務(wù)調(diào)度的公平。在ARM服務(wù)上,頻繁的線程調(diào)度會帶來較大的性能開銷?;诖耍覀冡槍S的調(diào)度策略做了針對性優(yōu)化,重點(diǎn)對sched_min_granularity_ns, sched_wakeup_granularity_ns, sched_migration_cost_ns等參數(shù)進(jìn)行了調(diào)整,保證RDS在ARM服務(wù)器下的性能。

開啟代碼段大頁

在傳統(tǒng)X86服務(wù)器上,為了保證MySQL的性能穩(wěn)定,默認(rèn)關(guān)閉了大頁。在ARM服務(wù)器上,新版本的OS支持了單獨(dú)的代碼段大頁,即只對代碼段開啟大頁,數(shù)據(jù)段不使用大頁,從而降低代碼段的TLB miss率,提升性能。對于PostgerSQL引擎,無論ARM還是X86,默認(rèn)都開啟了代碼段大頁。

網(wǎng)卡中斷優(yōu)化

通過“網(wǎng)卡中斷聚合”的方式,針對SMP IRQ affinity和RPS做了相關(guān)調(diào)整,主要減少在處理網(wǎng)絡(luò)中斷時(shí)頻繁的上下文切換帶來的性能損耗,將多個(gè)網(wǎng)絡(luò)隊(duì)列綁定到一個(gè)核上,聚合處理能帶來CPU icache使用效率提升。大致示意圖如下:

編譯優(yōu)化

在ARM服務(wù)器上,為了提升OS的運(yùn)行效率,RDS內(nèi)核團(tuán)隊(duì)和OS團(tuán)隊(duì)一起,在OS編譯過程中引入了PGO(Profile Guided Optimization)的方式,針對數(shù)據(jù)庫的典型負(fù)載,對OS進(jìn)行針對性的編譯優(yōu)化,保證OS在數(shù)據(jù)庫場景下的運(yùn)行效率。

數(shù)據(jù)庫層面

編譯優(yōu)化

倚天710芯片支持了armv8.6指令集,數(shù)據(jù)庫在編譯過程中進(jìn)行了相應(yīng)適配,保證指令高效使用。同時(shí)在編譯過程中啟用了LTO(Link Time Optimization)和PGO(Profile Guided Optimization),分別從代碼鏈接優(yōu)化和運(yùn)行時(shí)profiling反饋優(yōu)化兩個(gè)方面,提升數(shù)據(jù)庫的性能。此外,在內(nèi)存管理上,采用的Jemalloc替換默認(rèn)的內(nèi)存分配機(jī)制,保障內(nèi)存分配與回收的高效。

鎖優(yōu)化

鎖沖突是數(shù)據(jù)庫并發(fā)場景下最常見的性能瓶頸點(diǎn),數(shù)據(jù)庫內(nèi)核層面結(jié)合倚天710芯片的特點(diǎn)進(jìn)行了針對性的優(yōu)化,通過重新設(shè)計(jì)spinlock的實(shí)現(xiàn)、優(yōu)化指令操作等方式,有效降低了并發(fā)場景下的鎖沖突問題。

Double Write

MySQL數(shù)據(jù)庫通過double write機(jī)制來保證數(shù)據(jù)寫的安全性,但是double write機(jī)制也帶來了更大的IO壓力,特別是在云盤場景下。為此,數(shù)據(jù)庫打通塊存儲和文件系統(tǒng),實(shí)現(xiàn)了16K原子寫的能力,在此能力的保障下,率先可以在ARM體系下安全地關(guān)閉double write,降級寫IO的壓力,極大提升IO Bound場景下的性能。

熱點(diǎn)函數(shù)優(yōu)化

數(shù)據(jù)針對并發(fā)訪問場景下的典型熱點(diǎn)函數(shù)進(jìn)行了針對性優(yōu)化,對包括:memcpy、crc32、hash_sort等熱點(diǎn)函數(shù)進(jìn)行了指令級的優(yōu)化,充分發(fā)揮倚天710芯片的特點(diǎn),保證數(shù)據(jù)庫的性能。

特色場景優(yōu)化

倚天710芯片在壓縮場景下具有明顯的性能優(yōu)勢,依托于倚天710芯片提供的硬件加速能力,RDS PostgerSQL在壓縮表場景上進(jìn)行了優(yōu)化,開啟壓縮表后,在存儲成本顯著降低的情況下性能無退化。

倚天710為云而設(shè)計(jì),體現(xiàn)云原生優(yōu)勢

倚天710 CPU是專門為云而生的云原生處理器芯片,主要體現(xiàn)在如下幾個(gè)方面:

  • 倚天710芯片無超線程概念,用戶使用ECS規(guī)格享受的是極致的物理核性能體驗(yàn),無論用戶業(yè)務(wù)負(fù)載壓力多大,均不會造成業(yè)務(wù)性能衰減。在此基礎(chǔ)上,芯片設(shè)計(jì)充分考慮云用戶不同規(guī)格虛擬機(jī)在性能上的可預(yù)期性,例如CPU緩存qos特性等,不同規(guī)格的劃分均具備可預(yù)期的線性性能變化,幫助客戶充分應(yīng)對復(fù)雜的業(yè)務(wù)變化。

  • 倚天710芯片與CIPU實(shí)現(xiàn)了1+1大于2的效果。倚天710將自身算力優(yōu)勢和CIPU IO優(yōu)勢結(jié)合,使得倚天ECS在用戶業(yè)務(wù)場景取得了優(yōu)異的性能表現(xiàn)。同時(shí),通過以CIPU為核心的理念,倚天ECS的成本和穩(wěn)定性均得到了很好優(yōu)化。通過CIPU為核心,我們采用多單路的機(jī)型設(shè)計(jì)方式,在保證低爆炸半徑的前提下,提升部署密度,有效降低倚天ECS使用成本。

RDS MySQL為例,經(jīng)過深度優(yōu)化性能超過普通自建MySQL

在經(jīng)過一系列的軟硬件優(yōu)化以后,我們以一個(gè)規(guī)格為8C32G 100G數(shù)據(jù)的實(shí)例進(jìn)行Sysbench跑分壓測,其中RDS ARM指RDS on 倚天深度優(yōu)化的實(shí)例、X86自建指客戶基于X86架構(gòu)的ECS實(shí)例自建同等規(guī)格數(shù)據(jù)庫、ARM自建指客戶基于倚天架構(gòu)的ECS實(shí)例自建同等規(guī)格數(shù)據(jù)庫,具體性能數(shù)據(jù)如下:

RDS ARM

RDS MySQL的ARM架構(gòu)在無端《生死狙擊2》的應(yīng)用:

  • 開服場景在游戲活動(dòng)中,開服瞬間有大并發(fā)的登錄和讀寫數(shù)據(jù)庫的操作,對數(shù)據(jù)庫的鎖沖突挑戰(zhàn)非常大,RDS MySQL結(jié)合倚天710芯片的特點(diǎn)進(jìn)行了針對性的優(yōu)化,通過重新設(shè)計(jì)spinlock的實(shí)現(xiàn)、優(yōu)化指令操作等方式,有效降低了并發(fā)場景下的鎖沖突問題。

  • IO優(yōu)化游戲場景下,由于涉及到背包和道具屬性通常比較大,因此在讀寫數(shù)據(jù)庫過程中,游戲數(shù)據(jù)庫存儲IO壓力相對較大。RDS ARM架構(gòu)打通塊存儲和文件系統(tǒng),實(shí)現(xiàn)了16K原子寫的能力,在此能力的保障下,率先可以在ARM體系下安全地關(guān)閉double write,降級寫IO的壓力,極大提升IO Bound場景下的性能。

  • 備份恢復(fù)RDS支持PITR、極速庫表恢復(fù)等多種備份恢復(fù)能力,幫忙游戲業(yè)務(wù)在異常情況下快速回檔。

客戶收益

RDS產(chǎn)研團(tuán)隊(duì)經(jīng)過軟硬協(xié)同的一系列優(yōu)化,使得倚天ARM架構(gòu)數(shù)據(jù)庫性能進(jìn)一步提升并釋放技術(shù)紅利。在穩(wěn)定性方面,RDS ARM架構(gòu)規(guī)格承諾與X86一致的高SLA保障,高可用規(guī)格最高SLA 99.99%。產(chǎn)品功能和使用體驗(yàn)上也與X86規(guī)格完全一致,應(yīng)用無適配門檻。在無端科技的《生死狙擊2》游戲場景中,基于RDS MySQL的倚天ARM架構(gòu),在保證穩(wěn)定和性能的前提下,幫助客戶實(shí)現(xiàn)降本增效,其中核心業(yè)務(wù)價(jià)值包括:

1. 降本增效

相較于X86架構(gòu),基于RDS ARM架構(gòu)的數(shù)據(jù)庫成本大幅下降,并且可以保證性能和穩(wěn)定性相當(dāng),達(dá)到客戶降本增效的訴求;

2. 業(yè)務(wù)平滑遷移

RDS ARM產(chǎn)品功能與X86架構(gòu)完全一致,在應(yīng)用0改造的基礎(chǔ)上,實(shí)現(xiàn)業(yè)務(wù)的無感平滑遷移,幫助客戶實(shí)現(xiàn)遷移和優(yōu)化改造;

3. 高并發(fā)訪問

在游戲活動(dòng)和賽季中,通常有瞬間的高并發(fā)訪問,因此對數(shù)據(jù)庫的性能有極大的挑戰(zhàn),RDS倚天ARM架構(gòu)幫助客戶穩(wěn)定度過多次大型活動(dòng),穩(wěn)定性和性能表現(xiàn)優(yōu)異。

客戶感言

無端科技數(shù)據(jù)庫負(fù)責(zé)人許巖表示:“倚天ARM架構(gòu)下的RDS數(shù)據(jù)庫,在提供穩(wěn)定高性能的訪問前提下,幫助我們實(shí)現(xiàn)了降本增效的目的,很好的滿足了我們業(yè)務(wù)訴求,也支撐了多次大型活動(dòng)?!?/p>

《生死狙擊》研發(fā)商無端科技使用RDS倚天ARM架構(gòu)數(shù)據(jù)庫,實(shí)現(xiàn)增效降本的評論 (共 條)

分享到微博請遵守國家法律
玉林市| 油尖旺区| 天峻县| 谷城县| 邵东县| 金沙县| 陕西省| 西藏| 平南县| 弥渡县| 泾阳县| 北流市| 宁河县| 金湖县| 建德市| 阜南县| 沭阳县| 郑州市| 侯马市| 乌审旗| 崇文区| 嘉义市| 河曲县| 宜兰县| 阿尔山市| 泽州县| 洛浦县| 郓城县| 肃北| 彰化县| 麻阳| 赣榆县| 连南| 阿克陶县| 桓台县| 成安县| 中江县| 和田县| 德格县| 大宁县| 盐池县|