標籤:

遊戲線上的伺服器風險

遊戲作為給大量用戶使用的產品,像大部分互聯網產品一樣,需要對上線的風險和版本質量進行嚴格的控制。

一、風險節點

  1. 首次正式上線

    遊戲產品不同於互聯網產品一個特性是,互聯網產品很多是慢慢累積用戶的,遊戲產品需要在首次正式上線時聚集足夠的用戶(可能也是大部分遊戲同時在線最多的時候)。這也是開發組的噩夢,在開服日大多默默祈禱首日上線伺服器不宕機,如果信佛,去靈隱寺燒個香也是個不錯的選擇。在從來沒有過的大量真實用戶的衝擊下,會有很多平時測試中沒有踩到的坑現行。各類高壓力極低概率複雜環境下才會出現的問題可能會湧現出來,輕則出現各種線上bug,重則直接宕機回檔。

  2. 時間累積

    在平安渡過首周上線後,一般伺服器就沒有大問題了,這個時候也不能掉以輕心。這個時候累積風險可能在悄悄到來。比如,伺服器內存或者某種資源以非常緩慢的速度正在泄漏,在慢慢積累到一定程度時,會忽然爆發出問題。
  3. 新版本上線

    新版本上線和首次上線比較類似,同樣是未經真正線上驗證過的功能第一次正式面向玩家。一般新版本只是小部分功能的新增或修改,風險是小於首次上線的。但是往往也正因如此,開發和測試人員會比較懈怠,從而導致問題。而且新版本上線是經常要做的事情,所以在遊戲後期的運維中,新版本上線帶來的總體風險還是比較高的。
  4. 火爆的活動

    活動導致風險主要是兩個原因:一是活動可能是新功能第一次上線,這個風險即新版本上線風險。二是活動往往聚集比較高的人氣,而且活動一般在遊戲地圖上有局部性,這就產生了局部高壓力。這就可能會對伺服器的某些模塊帶來歷史新高的壓力,從來帶來風險。

二、線上問題

  1. 功能故障

    某些線上功能運行出現異常情況,輕則體驗不好,重則導致某個遊戲模塊完全不可用。如果是新手引導的關鍵性步驟出現問題,則直接導致玩家流失。

  2. 卡頓

    這個時候伺服器還是能夠正常運行的,只是由於內存、CPU、壓力局部聚集等問題,導致伺服器響應速度下降。
  3. 宕機

    當然,最可怕的就是宕機。所有玩家會失去伺服器連接,而且由於玩家數據的落地是周期性的,會造成一定程度的回檔。

三、應對方案

  1. 充分的測試

    針對伺服器的風險,基本的是做足功能的覆蓋測試,另外一個最重要的也是最難的是做模擬玩家行為的壓力測試。在遊戲上線之前,壓力測試一般都是做過的。為什麼上線之後還是宕機了呢?大部分原因還是壓力測試都是使用的有限的case來做測試。並不能充分模擬出上線之後海量玩家的真實行為
  2. 伺服器監控

    隨時監控關鍵數據,比如在線人數、內存、一些關鍵任務的吞吐量、資料庫運行情況、伺服器程序報錯統計

    做好日誌、開啟gdb,便於在出現問題時分析、定位和解決問題

  3. 容災機制

    好吧,儘管做了大量的鋪墊工作,也燒了香。到了上線日,也不能避免忽然出現各類線上狀況。針對伺服器問題的嚴重情況,對風險進行分級處理。對能不關服處理的問題,進行線上hotfix、玩家轉移等處理。如果遭遇嚴重問題,只能重啟伺服器的,也要儘快確定問題並解決,否則可能重啟後很快又陷入同樣問題。如果伺服器已經宕機了,如果不能第一時間找到問題,也是只能先重啟伺服器,並且同時全力查找問題。
  4. 輿論控制

    遊戲伺服器宕機其實很多玩家都遇到過,一個非技術的解決方案就是做好善後工作。首先是在宕機期間做 1.登錄時友善誠懇的停服提示 2.論壇停服廣告 3.重啟時全服停服預警電視條 4.停服時友善的下線提示。遊戲玩家其實是非常在乎開發組的態度的,雖然我們的伺服器掛了,我們要用最大的誠意表示歉意、挽留玩家、表示正在搶修,並且最好給出預估開服時間點。其實有那麼一部分玩家,在遭遇伺服器宕機時反而會比較開心,為什麼呢?因為開發組有大殺器,停服補償。在宕機重新開服後,第一時間給予玩家體貼的補償,彌補玩家的金錢和精神損失(外加一點甜頭),會讓玩家忘記宕機帶來的不快。
  5. 回檔問題

    回檔如何涉及到充值回檔的,還是需要高度重視的,要儘力找回玩家的損失。

推薦閱讀:

TAG:遊戲伺服器 |