遊戲伺服器效能測試

2021-08-14 04:07:34 字數 1798 閱讀 1192

tps:transaction per second, 每秒事務數, 是衡量系統效能的乙個非常重要的指標。

tps就是每秒事務數,但是事務是基於虛擬使用者數的,假如1個虛擬使用者在1秒內完成1筆事務,那麼tps明顯就是1;

如果某筆業務響應時間是1ms,那麼1個使用者在1秒內能完成1000筆事務,tps就是1000了;

如果某筆業務響應時間是1s,那麼1個使用者在1秒內只能完成1筆事務,要想達到1000tps,至少需要1000個使用者;

因此可以說1個使用者可以產生1000tps,1000個使用者也可以產生1000tps,無非是看響應時間快慢。在評定伺服器的效能時,應該結合tps和併發使用者數,以tps為主,併發使用者數為輔來衡量系統的效能。

在效能測試時並不需要用上萬的使用者併發去進行測試,如果只需要保證系統處理業務時間足夠快,幾百個使用者甚至幾十個使用者就可以達到目的。很多專家做過的效能測試專案基本都沒有超過5000使用者併發。因此對於大型系統、業務量非常高、硬體配置足夠多的情況下,5000使用者併發就足夠了;對於中小型系統,1000使用者併發就足夠了。

效能測試需要一套標準化流程及測試策略,在實際測試時我們還需要考慮其它方面的問題,比如如何模擬成千上萬來自不同地區使用者的訪問場景、如何選用合適的測試軟體。效能測試對一些小的團隊來說並非易事。

一、明確測試壓力的前提

1.伺服器硬體

a.硬碟i/o

b.記憶體 (64g)

c.cpu 核心數 (24核)

2.網路壓力

a.長連線

1.最大連線數

2.流量

b.長連線短週期(類似http的tcp應用,loginagent)

1.每秒建立的連線數

2.實際處理能力

3.資料庫

a.每秒事物數

b.每秒鎖等待數

c.平均延時(ms)

d.cpu暫用

4.多執行緒的最優執行緒數 (隨著事物的消耗,存在乙個最優執行緒數的問題,過多的執行緒反而會降低伺服器效率)

a.資料庫執行的多執行緒

b.多連線處理

三、細節問題

a.進行測試需要仔細思考客戶端效能影響伺服器最後表現的可能性。比如

a1.模擬客戶端的效能無法有效處理伺服器返回資訊,可能就導致伺服器傳送的資訊快取在伺服器系統快取,從而表現出伺服器記憶體不斷增加。表現為伺服器傳送能力不足,其實可能根本就是客戶端的效能問題

a2.客戶端效能問題,導致發起的請求數過少,從而導致單位時間內伺服器處理的請求過少。表現為伺服器效能不足,其實根本就是客戶端的請求能力不足。

b.網路頻寬導致最後表現不足

b1.確認伺服器的各個網絡卡,以及相互的頻寬。不然可能因為相互頻寬,導致伺服器對於客戶端請求的處理延時。表現為伺服器卡機

b2.客戶端模擬多個玩家,比如1000個玩家。而客戶端的網絡卡或者客戶端與伺服器之間的中轉伺服器頻寬過小,導致伺服器資料傳送不出,記憶體不斷增加。表現為伺服器傳送能力不足,其實是中間頻寬問題。

c.debug i/o導致伺服器效能下降

c1.進行效能測試,一定要取消debug用的同步的i/o.比如我們伺服器的debuginternallog.同步i/o是非常影響效能的,特別在壓力測試下可能導致每秒上千上萬甚至幾十萬次的執行。一處的檔案寫入操作就可以導致幾十萬次的處理能力變成幾千次的處理能力。

c2.客戶端避免進行阻塞操作導致模擬多使用者效能下降,導致伺服器表現效能下降

d.流量需要區分內網網

內、外網流量在遊戲正式執行時是完全分開的。**也是完全不同的。乙個千m的外網是乙個無法想象的運營成本,而kmbps/s現在已經是乙個可以接受的代價。遊戲程序需要進行不同網絡卡的配置和繫結。確定內外網流量。

遊戲伺服器壓力測試總結

遊戲伺服器壓力測試總結 從遊戲內測開始到現在做了所有伺服器壓力相關的測試.現在進行總結.暫時還不方便說遊戲架構,所以不上圖了。一.首先明確需要測試壓力的內容 1.遊戲伺服器硬體 a.硬碟i o b.記憶體 c.cpu 2.網路壓力 a.長連線 a1.最大連線數 a2.流量 內網 外網 進 出 b.長...

遊戲伺服器壓力測試總結

標籤 伺服器 測試遊戲 資料庫多執行緒聊天 2012 03 13 16 44 2962人閱讀收藏 舉報 遊戲開發 64 windows 43 遊戲伺服器壓力測試總結 從遊戲內測開始到現在做了所有伺服器壓力相關的測試.現在進行總結.暫時還不方便說遊戲架構,所以不上圖了。一.首先明確需要測試壓力的內容 ...

C 遊戲伺服器的效能優化

以下是最近某個專案的一次經歷,最終並沒有按照這樣的方案來優化,但對思路確實是乙個提高,所以記錄在此。整體來說 c 伺服器 mysql資料庫,多執行緒。但是是單服。請教了前同事,在他的一步步詢問下,理清了伺服器的當前架構。同事指導,對於伺服器效能分析,要從記憶體分配和多執行緒兩個方面入手。修改記憶體分...