導航:首頁 > 編程語言 > cjava游戲伺服器性能測試

cjava游戲伺服器性能測試

發布時間:2021-10-25 05:40:39

A. 手機端的游戲,怎麼進行後台伺服器壓力測試

對於游戲後台性能,評測標准不只單單是TPS(每秒處理多少個XX請求),因為當你的游戲伺服器上線後,不存在一群玩家只發XX請求的壓力場景。所以,游戲後台受到的現網請求壓力永遠是多場景混合的,在這樣的壓力下,後台能支撐多少人同時在線,才是一個游戲壓測者需要得到的有價值的測試結論。

要得到可支撐的"最大同時在線人數",主要做好2件事:

1、設計你的類現網壓力模型
在現網真實壓力里,不論壓力大小如何變化,現網環境如何變化,一個游戲類型和玩法設計定型後,永遠有2個壓力宏觀數據保持不變:a. 各介面的壓力比例不變, b.玩家平均每分鍾操作頻率不變。因此,壓力測試目標就轉變成了如何模擬符合ab數據的壓力。
對於a,首先從同類型游戲或者本游戲內測階段,日誌插樁,收集各個介面的調用比例;然後,將介面比例轉化為場景比例,如同時會有個2%完結登陸、15%玩家戰斗、20%玩家拉取好友列表、10%玩家賭博(一個手游場景例子)。
對於b,同樣在內測階段收集玩家平均操作頻率。
此時有了a和b,就可以構造出一分鍾內玩家同時在線的真實壓力模型了。

2、用壓測工具構造出符合壓力模型的壓力
這個可以自己寫,也可以使用現成的壓測工具。現在市面上的壓測工具很多,但很多都是專注於TPS這個參數,不符合游戲行業壓測的關注點-同時在線人數。最近騰訊開放平台推出了一款針對游戲後台的壓測工具還不錯,叫WeTest,建議你看看。

B. 對於c/s架構的游戲 如何測試性能

很多人關心LR在C/S架構上如何實施性能測試,我想根本原因在於兩個方面,一是很多時候腳本無法錄制,即LR無法成功調用被測的應用程序,二是測試腳本即使錄制下來,可讀性不強,往往不能運行通過,調試時無從下手,像音視頻、電子地圖類的測試差不多也是這個問題。
根據我以往的項目經驗,LR是可以做到的,因為它提供了Windows Sockets協議,解決方案實施起來簡單但需要足夠的細心以及一定的判斷力、想像力,可參考如下步驟進行:
1、通過抓包工具捕捉客戶端與伺服器之間的所有通訊。
關鍵點:IP過濾,埠過濾,報文類型過濾
目的:弄清楚業務操作過程中,客戶端向伺服器提交的請求原型,以及伺服器對我們請求所做的正確響應
2、將過濾後的報文整理成測試腳本。
關鍵點:Socket的建立與關閉,send buf的整理,receive buf的整理
目的:將抓包獲得的報文轉成LR測試腳本(提示:選取合適的抓包工具,使得報文能被保存成文檔格式;開發小工具,通過報文中的各個關鍵字抽取報文中 Data Area中的部分作為buf 區的內容,根據IP欄位,埠號等特徵完成lrs_send,lrs_receive語句的填寫。這部分看上去挺難,但只要對報文做好分析,把握規律,編程的事隨便拉個開發都可以輕松搞定)
3、調試腳本
關鍵點:定位錯誤,添加校驗點
目的:使腳本真正可以拿來進行壓力測試
這是最難的一個環節,耐心、細心、判斷力都體現在此處。每個人處理問題的方式的不同,我只能提供自己的一點經驗。
將腳本RUN-TIME SETTINGS中的擴展日誌全部打上鉤,並且將腳本拿到controller中單用戶執行,注意設置好日誌路徑。
腳本出錯後,用EDIT PLUS或其他的文本工具打開log,找到出錯行,然後向上逐一對比伺服器返回的數據與錄制過程中抓包獲得的報文。
在這里,我用了一個小技巧,生成buf內容時,使buf的編號與該buf在抓包獲得的報文中編號保持一致,比較起來很方便。
如果伺服器返回的buf與抓包時的原始數據一致,自然表示該步驟回放成功,如果不一樣,則需要具體情況具體對待。就我的經驗來說,往往是因為數據唯一性問題或者是關聯的問題造成某一步驟返回的BUF為0或-1,從而導致最終腳本失敗。
找到第一個出錯的地方後,參數化,關聯等手段都可以用上了,這里可能需要重復兩次抓包過程,先行比較自己發送的報文是否有區別。
總體思路便是如此,寫了一堆,也不知道對大家是否有幫助,對於此類問題,網路上的協助很難派上用場,事情還是要在現場才有可能得到解決啊。本來有意將這東西工具化,甚至產品化,但幾個項目實施下來發現變數較多,特別是最後一個環節,完全依賴於測試工程師的自身能力,只好就此作罷

C. 游戲後台怎麼做性能測試

一、什麼是游戲後台性能測試

性能(performance):是系統實現其功能的能力。例如,響應時間、吞吐能力、事務處理數。

性能測試,是指在特定負載情況下,確定系統的響應速度和穩定性的表現。它也可以研究、測量、驗證系統的其他特徵,比如可擴展性、可靠性和資源使用率。通俗的講:通過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否滿足生成性能要求,即在特定的運行條件下驗證系統的能力狀況。

按游戲構成特點,將性能測試分為客戶端性能、伺服器性能兩大塊。樓主問的應該是伺服器性能測試吧!

二、性能測試的關鍵指標

客戶端性能的關鍵指標有:

CPU佔用率、內存佔用率、流量耗用量、FPS(每秒傳輸幀數)

伺服器端性能的關鍵指標有:

響應時間、並發用戶數、吞吐量等;

三、如何做性能測試

1. 明確測試目標;了解性能測試需求;

2. 編寫性能測試計劃;

3. 分析性能測試需求;

4. 編寫性能測試方案、設計測試場景;

5. 相關資源准備(人力資源、硬體資源、軟體資源);

6. 測試程序開發;腳本維護、測試數據准備、測試監控准備;

7. 執行性能測試並收集測試結果;

8. 分析結果;

9. 系統調優及再測試;

針對樓主的問題,推薦你一個伺服器壓測平台

WeTest性能測試(騰訊游戲官方出品)

騰訊WeTest壓測大師支持的性能測試方法

希望能幫助到你

D. 游戲伺服器的壓力測試應該如何進行自己寫機器人還是LR等工具

對於游戲後台性能,評測標准不只單單是TPS(每秒處理多少個XX請求),因為當你的游戲伺服器上線後,不存在一群玩家只發XX請求的壓力場景。所以,游戲後台受到的現網請求壓力永遠是多場景混合的,在這樣的壓力下,後台能支撐多少人同時在線,才是一個游戲壓測者需要得到的有價值的測試結論。

要得到可支撐的"最大同時在線人數",主要做好2件事:

1、設計你的類現網壓力模型
在現網真實壓力里,不論壓力大小如何變化,現網環境如何變化,一個游戲類型和玩法設計定型後,永遠有2個壓力宏觀數據保持不變:a. 各介面的壓力比例不變, b.玩家平均每分鍾操作頻率不變。因此,壓力測試目標就轉變成了如何模擬符合ab數據的壓力。
對於a,首先從同類型游戲或者本游戲內測階段,日誌插樁,收集各個介面的調用比例;然後,將介面比例轉化為場景比例,如同時會有個2%完結登陸、15%玩家戰斗、20%玩家拉取好友列表、10%玩家賭博(一個手游場景例子)。
對於b,同樣在內測階段收集玩家平均操作頻率。
此時有了a和b,就可以構造出一分鍾內玩家同時在線的真實壓力模型了。

2、用壓測工具構造出符合壓力模型的壓力
這個可以自己寫,也可以使用現成的壓測工具。現在市面上的壓測工具很多,但很多都是專注於TPS這個參數,不符合游戲行業壓測的關注點-同時在線人數。最近騰訊開放平台推出了一款針對游戲後台的壓測工具還不錯,在騰訊游戲開發中已經被廣泛使用的,現在正式對外,建議你看看http://wetest.qq.com/gaps

E. 如何對游戲伺服器進行壓力測試

需求分析 - 測試設計 - 腳本編輯 - 場景設置 - 測試執行 - 結果分析

F. jmeter怎麼做游戲服務端壓力測試

接觸JMeter也有超過半年的時間,自我感覺要想測試C++做的伺服器的性能是比較無力的。其實我也想知道如何去測試,但是有一點非常明確就是我們可以發送二進制數(可以自定義的結構體或者protobuf,我們都可以通過抓包的方式去把數據抓出來,通過JMeter發送出去)據給伺服器,但是伺服器回復二進制,JMeter對這個數據如何正確解析,由於我的無知確實目前還沒有找到解決辦法(另外服務端可能回復的消息不至一條,而且還有可能順序都不確定,這個如何檢測,如果處理?)。

G. 我是做java游戲伺服器的新人 要求寫個 連接 以及負載測試 不知道該如何下手 求點代碼膜拜

public void getUserItemToRemote(final UserItemRemoteBean userItemRemoteBean) {
Runnable able = new Runnable() {
public void run() {
try {
Socket s = new Socket(ip, port);//連接伺服器,ip=ip,port=埠
ObjectOutputStream oos = new ObjectOutputStream(s
.getOutputStream());
oos.writeObject(userItemRemoteBean.toStringArean());

ObjectInputStream ois = new ObjectInputStream(s
.getInputStream());
String ms = (String) ois.readObject();
System.out.println("伺服器接到" + ms);
} catch (IOException e) {
GoblinComingLogger.SYS_LOG.error("====x=====ip錯誤=");
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
};
Thread t = new Thread(able);
t.setDaemon(true);
t.start();
}
這就是一個啟動一個連接,連接遠程伺服器

H. 游戲伺服器壓力測試,要做哪些

以前有過類似的問題 可以參考下:

https://www.hu.com/question/19638763

I. 游戲性能測試如何開展

  1. 首先解釋游戲性能測試含義:

    性能(performance):是系統實現其功能的能力。例如,響應時間、吞吐能力、事務處理數;

    性能測試:是指在特定負載情況下,確定系統的響應速度和穩定性的表現。它也可以研究、測量、驗證系統的其他特徵,比如可擴展性、可靠性和資源使用率。通俗的講:通過模擬生產運行的業務壓力量和使用場景組合,測試系統的性能是否滿足生成性能要求,即在特定的運行條件下驗證系統的能力狀況。

    按手游構成特點,將性能測試分為客戶端性能、伺服器性能兩大塊。

  2. 性能測試的關鍵指標

    客戶端性能的關鍵指標有:CPU佔用率、內存佔用率、流量耗用量、FPS(每秒傳輸幀數)

    伺服器端性能的關鍵指標有:響應時間、並發用戶數、吞吐量等;

  3. 如何做性能測試

    明確測試目標;

    了解性能測試需求;

    編寫性能測試計劃;

    分析性能測試需求;

    編寫性能測試方案、設計測試場景;

    相關資源准備(人力資源、硬體資源、軟體資源);

    測試程序開發;腳本維護、測試數據准備、測試監控准備;

    執行性能測試並收集測試結果;

    分析結果;

    系統調優及再測試;性能測試五大誤區

4.性能測試工具推薦

簡單推薦2款工具,分別給玩家和開發者。

1. 玩家:安兔兔等跑分軟體
可以快速將app性能跑出一個整體分。但有個致命問題,無法單獨查看單獨某個功能、某個時間點的具體數值。缺點是無法定位問題。

2. 開發者:WeTest性能測試(騰訊WeTest官方出品)

提供Android版本和雲端版本2種性能測試方案,這里著重介紹下本地版本,使用3步即可:

1)打開WeTest性能測試頁面下載WeTest App,並安裝;

2)運行手機上的WeTestApp,選擇游戲後點「開始測試」;

3)上傳並查看報告

結束測試後,打開WeTest App點擊「上傳」按鈕。

登錄wetest.qq.com點擊「我的主頁」裡面,左側的「手游測試報告」,在頁面中就會出現「性能測試」結果報告,點擊查看,就可以查看完整的測試報告;


J. 伺服器性能測試中有哪些常用的性能指標

伺服器性能測試中有以下常用的性能指標:

【吞吐量】 固定時間間隔內的處理完畢事務個數。通常是1秒內處理完畢的請求個數,單位:事務/秒(tps);

【平均吞吐量】一段時間內吞吐量的平均值。無法體現吞吐量的瞬間變化;

【峰值吞吐量】一段時間內吞吐量的最大值。是用來評估系統容量的重要指標之一;

【最低吞吐量】一段時間內吞吐量的最小值。如果最小值接近0,說明系統有「卡」的現象;

【70%的吞吐量集中區間】通過統計15%和85%的吞吐量邊界值,計算出70%的吞吐量集中區間。區間越集中,吞吐量越穩定。

閱讀全文

與cjava游戲伺服器性能測試相關的資料

熱點內容
韓國電影 理發師 瀏覽:740
xp升級win7下載 瀏覽:3
同款app都有哪些 瀏覽:244
男主外號叫撒旦的小說 瀏覽:382
導航APK升級文件 瀏覽:216
看未上映電影的網站 瀏覽:693
蘋果解壓有密碼的文件 瀏覽:521
5g視頻網站都有哪些 瀏覽:551
尹美麗還演過什麼 瀏覽:650
抗日奇俠之終極任務演員表 瀏覽:628
電影短片網 瀏覽:646
日本的電影大全免費看中文版 瀏覽:188
一女多男七個世界 瀏覽:733
cad文件怎麼轉換slt文件 瀏覽:948
外語電影翻譯成普通話的網站 瀏覽:381
別克怎麼用原廠電腦編程 瀏覽:125
半月談app是什麼意思 瀏覽:788
廣州正大數據恢復 瀏覽:80
什麼app軟體上買汽車減震器 瀏覽:375
在線免費的網站你懂得 瀏覽:611

友情鏈接