遊戲伺服器壓力測試總結
從遊戲內測開始到現在做了所有伺服器壓力相關的測試.現在進行總結.暫時還不方便說遊戲架構,所以不上圖了。
一.首先明確需要測試壓力的內容:
1.遊戲伺服器硬體
a.硬碟i/o
b.記憶體
c.cpu
2.網路壓力
a.長連線
a1.最大連線數
a2.流量(內網、外網、進、出)
b.長連線短週期(類似http的tcp應用,這個比較特殊的乙個需求,專門針對loginagent)
b1.每秒建立的連線數
b2.實際處理能力
3.資料庫
a.每秒事務數
b.每秒鎖等待數
c.平均延時(ms)
d.cpu暫用
4.多執行緒的最優執行緒數
a.資料庫執行的多執行緒
b.多連線處理
二.windows server環境測試方式
1.伺服器效能監測
使用server自帶的效能監測器設定各個程序的監測引數。window的這個自動工具做的相當強大。大家自己摸一摸基本就會用了。每個引數都由詳細的說明。
2.案例設計注意
我們選擇的是:戰鬥、移動、聊天
c.聊天效能測試
廣播聊天是最為考驗遊戲資訊傳送能力的功能。通過進行全域性廣播的壓力測試。我們可以獲取伺服器程序傳送資訊到客戶端的最高承載量。進而可以對我們的各種廣播功能進行乙個預估和頻率限制。
d.同屏玩家的移動測試
移動+廣播。這兩種資訊,基本是網路遊戲流量的70-80%左右。同屏玩家數量,將會增加各種資料的廣播需求,非常影響遊戲效能。所以同屏的移動測試也是廣播測試的乙個必要環節。需要根據實際結果進行適當的優化。
e.大量玩家同時登入測試
玩家登入時,有大量的資訊需要進行分配和初始化;同時也有大量的資料需要下傳客戶端。伺服器需要進行大量的tcp連線建立。所以是乙個比較關鍵的過程。這個測試案例是乙個比較特殊,但是運營是肯定會碰到的案例。
f.由於執行緒池處理事務,隨著事務的時耗,存在乙個最優執行緒數的問題。過多的執行緒反而會降低伺服器效率
3.細節問題
a.進行測試需要仔細思考客戶端效能影響伺服器最後表現的可能性。比如
a1.模擬客戶端的效能無法有效處理伺服器返回資訊,可能就導致伺服器傳送的資訊快取在伺服器系統快取,從而表現出伺服器記憶體不斷增加。表現為伺服器傳送能力不足,其實可能根本就是客戶端的效能問題
a2.客戶端效能問題,導致發起的請求數過少,從而導致單位時間內伺服器處理的請求過少。表現為伺服器效能不足,其實根本就是客戶端的請求能力不足。
b.網路頻寬導致最後表現不足
b1.確認伺服器的各個網絡卡,以及相互的頻寬。不然可能因為相互頻寬,導致伺服器對於客戶端請求的處理延時。表現為伺服器卡機
b2.客戶端模擬多個玩家,比如1000個玩家。而客戶端的網絡卡或者客戶端與伺服器之間的中轉伺服器頻寬過小,導致伺服器資料傳送不出,記憶體不斷增加。表現為伺服器傳送能力不足,其實是中間頻寬問題。
c.debug i/o導致伺服器效能下降
c1.進行效能測試,一定要取消debug用的同步的i/o.比如我們伺服器的debuginternallog.同步i/o是非常影響效能的,特別在壓力測試下可能導致每秒上千上萬甚至幾十萬次的執行。一處的檔案寫入操作就可以導致幾十萬次的處理能力變成幾千次的處理能力。
c2.客戶端避免進行阻塞操作導致模擬多使用者效能下降,導致伺服器表現效能下降
d.流量需要區分內網網
內、外網流量在遊戲正式執行時是完全分開的。**也是完全不同的。乙個千m的外網是乙個無法想象的運營成本,而kmbps/s現在已經是乙個可以接受的代價。遊戲程序需要進行不同網絡卡的配置和繫結。確定內外網流量。
遊戲伺服器壓力測試總結
標籤 伺服器 測試遊戲 資料庫多執行緒聊天 2012 03 13 16 44 2962人閱讀收藏 舉報 遊戲開發 64 windows 43 遊戲伺服器壓力測試總結 從遊戲內測開始到現在做了所有伺服器壓力相關的測試.現在進行總結.暫時還不方便說遊戲架構,所以不上圖了。一.首先明確需要測試壓力的內容 ...
遊戲伺服器效能測試
tps transaction per second,每秒事務數,是衡量系統效能的乙個非常重要的指標。tps就是每秒事務數,但是事務是基於虛擬使用者數的,假如1個虛擬使用者在1秒內完成1筆事務,那麼tps明顯就是1 如果某筆業務響應時間是1ms,那麼1個使用者在1秒內能完成1000筆事務,tps就是...
mysql 做遊戲伺服器配置 遊戲伺服器部署
bin bash 小菜鳥 掛機 版本 1.0 遊戲伺服器部署 基礎環境 mysql資料庫svn客戶端需部署才能執行此指令碼 if uid 0 then echo game server install else exit 1 firead p please create the storage ga...