新聞資訊
行業(yè)資訊
2024年游戲服務(wù)器壓力測試
2023-10-19 10:22:37
摘要:游戲項目上線之前,一般需要對項目做個壓力測試,從中可以評估項目的性能瓶頸,做出針對性的優(yōu)化;那么如何做游戲服務(wù)器壓力測試?

游戲項目上線之前,一般需要對項目做個壓力測試,從中可以評估項目的性能瓶頸,做出針對性的優(yōu)化;那么如何做游戲服務(wù)器壓力測試?


一.首先明確需要測試壓力的內(nèi)容:


1.游戲服務(wù)器硬件

a.硬盤I/o

b.內(nèi)存

c.CPU


2.網(wǎng)絡(luò)壓力

a.長連接

a1.最大連接數(shù)

a2.流量(內(nèi)網(wǎng)、外網(wǎng)、進、出)

b.長連接短周期(類似Http的TCP應(yīng)用,這個比較特殊的一個需求,專門針對LoginAgent)

b1.每秒建立的連接數(shù)

b2.實際處理能力


3.數(shù)據(jù)庫

a.每秒事務(wù)數(shù)

b.每秒鎖等待數(shù)

c.平均延時(ms)

d.CPU暫用

4.多線程的最優(yōu)線程數(shù)

a.數(shù)據(jù)庫執(zhí)行的多線程

b.多連接處理


二.Windows Server環(huán)境測試方式


1.服務(wù)器性能監(jiān)測

使用Server自帶的性能監(jiān)測器設(shè)置各個進程的監(jiān)測參數(shù)。Window的這個自動工具做的相當強大。大家自己摸一摸基本就會用了。每個參數(shù)都由詳細的說明。


2.案例設(shè)計注意

a.對于數(shù)據(jù)庫的性能測試上,現(xiàn)在由于所有的游戲服務(wù)器構(gòu)架在DB前面都有一個實現(xiàn)DB緩沖功能的進程,以減少數(shù)據(jù)庫頻繁的讀寫操作。所以其實數(shù)據(jù)庫的讀是一個輕量級的數(shù)量;而數(shù)據(jù)庫的寫操作是一個周期性能過程。案例設(shè)計一定要能夠驅(qū)動這種周期性能過程。比如我們游戲的戰(zhàn)斗,導(dǎo)致游戲玩家數(shù)據(jù)的改變,或驅(qū)動所有在線玩家數(shù)據(jù)的周期性存儲。

b.選擇具有代表性,并且最頻繁的游戲操作。用于進行最高用戶在線的各種性能指標采集。

我們選擇的是:戰(zhàn)斗、移動、聊天

c.聊天性能測試

廣播聊天是最為考驗游戲信息發(fā)送能力的功能。通過進行全局廣播的壓力測試。我們可以獲取服務(wù)器進程發(fā)送信息到客戶端的最高承載量。進而可以對我們的各種廣播功能進行一個預(yù)估和頻率限制。

d.同屏玩家的移動測試

移動+廣播。這兩種信息,基本是網(wǎng)絡(luò)游戲流量的70-80%左右。同屏玩家數(shù)量,將會增加各種數(shù)據(jù)的廣播需求,非常影響游戲性能。所以同屏的移動測試也是廣播測試的一個必要環(huán)節(jié)。需要根據(jù)實際結(jié)果進行適當?shù)膬?yōu)化。

e.大量玩家同時登錄測試

玩家登錄時,有大量的信息需要進行分配和初始化;同時也有大量的數(shù)據(jù)需要下傳客戶端。服務(wù)器需要進行大量的TCP連接建立。所以是一個比較關(guān)鍵的過程。這個測試案例是一個比較特殊,但是運營是肯定會碰到的案例。

f.由于線程池處理事務(wù),隨著事務(wù)的時耗,存在一個最優(yōu)線程數(shù)的問題。過多的線程反而會降低服務(wù)器效率

3.細節(jié)問題

a.進行測試需要仔細思考客戶端性能影響服務(wù)器最后表現(xiàn)的可能性。比如

a1.模擬客戶端的性能無法有效處理服務(wù)器返回信息,可能就導(dǎo)致服務(wù)器發(fā)送的信息緩存在服務(wù)器系統(tǒng)緩存,從而表現(xiàn)出服務(wù)器內(nèi)存不斷增加。表現(xiàn)為服務(wù)器發(fā)送能力不足,其實可能根本就是客戶端的性能問題

a2.客戶端性能問題,導(dǎo)致發(fā)起的請求數(shù)過少,從而導(dǎo)致單位時間內(nèi)服務(wù)器處理的請求過少。表現(xiàn)為服務(wù)器性能不足,其實根本就是客戶端的請求能力不足。

b.網(wǎng)絡(luò)帶寬導(dǎo)致最后表現(xiàn)不足

b1.確認服務(wù)器的各個網(wǎng)卡,以及相互的帶寬。不然可能因為相互帶寬,導(dǎo)致服務(wù)器對于客戶端請求的處理延時。表現(xiàn)為服務(wù)器卡機

b2.客戶端模擬多個玩家,比如1000個玩家。而客戶端的網(wǎng)卡或者客戶端與服務(wù)器之間的中轉(zhuǎn)服務(wù)器帶寬過小,導(dǎo)致服務(wù)器數(shù)據(jù)發(fā)送不出,內(nèi)存不斷增加。表現(xiàn)為服務(wù)器發(fā)送能力不足,其實是中間帶寬問題。

c.debug i/o導(dǎo)致服務(wù)器性能下降

c1.進行性能測試,一定要取消debug用的同步的i/o.比如我們服務(wù)器的debuginternalLog.同步i/o是非常影響性能的,特別在壓力測試下可能導(dǎo)致每秒上千上萬甚至幾十萬次的執(zhí)行。一處的文件寫入操作就可以導(dǎo)致幾十萬次的處理能力變成幾千次的處理能力。

c2.客戶端避免進行阻塞操作導(dǎo)致模擬多用戶性能下降,導(dǎo)致服務(wù)器表現(xiàn)性能下降

d.流量需要區(qū)分內(nèi)網(wǎng)網(wǎng)

內(nèi)、外網(wǎng)流量在游戲正式運行時是完全分開的。價格也是完全不同的。一個千M的外網(wǎng)是一個無法想象的運營成本,而kmbps/s現(xiàn)在已經(jīng)是一個可以接受的代價。游戲進程需要進行不同網(wǎng)卡的配置和綁定。確定內(nèi)外網(wǎng)流量。

755800提供香港服務(wù)器、美國服務(wù)器等全球海外服務(wù)器租用托管,是區(qū)域鏈、直銷、流媒體、外貿(mào)、游戲等服務(wù)器解決方案首選品牌。



海外服務(wù)器免費測試http://running-capacitor.com/


USA-IDC為您提供免備案服務(wù)器 0元試用
立即聯(lián)系在線客服,即可申請免費產(chǎn)品試用服務(wù)
立即申請