找回密碼註冊
作者: lin.sinchen
查看: 8605
回復: 0

文章標籤:

文章分享:

+ MORE精選文章:

    + MORE活動推薦:

    Micron Crucial T710 SSD 玩家開箱體驗分享

    進入疾速前進! 快速邁向終局勝利 使用 Crucial® T710 Gen5 NVMe® ...

    COUGAR ULTIMUS PRO玩家開箱體驗分享活動

    ULTIMUS PRO 終極功能,無限連接 Ultimus Pro 採用簡潔的 98% 鍵盤佈 ...

    COUGAR AIRFACE 180 玩家開箱體驗分享活動

    AIRFACE 180 180mm 風扇,威力加倍 Airface 180 預裝兩顆 180mm PWM ...

    COUGAR GR 750/GR 850 玩家開箱體驗分享活

    ATX 3.1 兼容,穩定供電無憂 COUGAR GR 系列通過 80 PLUS 金牌認證 ...

    打印 上一主題 下一主題

    [軟體遊戲] D2R 的敗因:資料伺服器過載與「Legacy code」所導致

    [複製鏈接]| 回復
    跳轉到指定樓層
    1#


    暗黑破壞神 II 在許多老玩家心中還是有著一定的份量,最近《暗黑破壞神 II:獄火重生》遭遇重重的伺服器斷線、回溯,甚至是無法連線遊玩的問題,而事件主因也由 PezRadar 設群經理的論壇長文,可以大致瞭解目前 D2R 所遇到的狀況。


    伺服器問題:

    首先,D2R 採用全球資料庫儲存所有玩家角色進度的唯一真實來源,而在北美、歐洲與亞洲則有獨立的地區資料庫,而玩家在連線時主要是通過地區資料庫進行,並保有較好的 ping 值與連線穩定度,並會定期將地區資料庫更新至全球資料庫當中。

    但在 10/9 號星期六(Pacific time)時區,這時間沒記錯應該是台灣 10/10 雙十連假期間,這時伺服器遇到比遊戲剛上市時還要大的數據流量,導致伺服器無法負載而大斷線;而在這的前一天 D2R 有針對遊戲創建(開門)的增強進行更新。

    也就是當超出預期的流量與 D2R 的更新導致全球斷線的問題下,這也是為何 D2R 決定伺服器回溯,退回先前的遊戲版本。

    隔天週日同樣伺服器過載的狀況出現,幾十分鐘內就可創建高達數十萬的遊戲房間,同樣又導致伺服器再次過載;這期間遊戲團隊先針對(離線的)備份全球資料庫進行維修與優化,並在 10/11 日準備讓備份全球資料庫與線上的全球資料庫進行切換,

    但這個切換過程又導致備份伺服器進行錯誤的備份狀況,而且還發現以往的「查詢」太過花費伺服器效能,將其刪除後並優化玩家加入遊戲時的資格檢查減輕伺服器負擔。(OS:這不就是以前的 Code 照著搬,結果導致太吃伺服器資源而斷線!)

    然後 10/12 又來了,每一個地區多達 10 萬玩家的連線數下,不得不讓暴雪專注遊戲核心的修改與優化,請來暴雪與第三方工程師團對幫忙維修。


    為什麼有這麼多問題:

    重點來了,D2R 伺服器撐不住、大斷線的肇因:legacy code,因為遊戲開發時希望忠於原作,所以遺留了非常多陳年的程式碼,當然無法符合現代線上遊戲的行為。

    簡單來說,這服務需要處理遊戲創建、加入、更新 / 讀取 / 過濾遊戲列表,驗證遊戲伺服器的健康度,以及從資料庫讀取角色,並確保玩家所看到的角色列表正確。

    而且這個服務僅能單一運行,確保所有遊戲玩家所見的遊戲資料都是最新的,但是即便優化了這功能的程式設計,但過多的保留舊有 legacy code 的狀況下,還是爆出了相當多的問題。

    總之,就是遊戲太過頻繁的儲存全球資料庫,反而應該事先保存在地區資料庫上,直到需要解鎖你時才將資料回存的全球資料庫當中(only saving you to the global database when we need to unlock you)。

    這可以有效降低伺服器的負擔,目前也正在針對架構、程式碼進行修改,但需要時間架構、測試與實際更新。


    進度損失:

    然後針對回溯導致進度遺失,或者真的打到好的各式裝備被回滾的玩家,只能跟你說聲抱歉...。


    目前正在進行:

    目前 D2R 也針對遊戲連線進行兩個面向的操作,首先是開房 Rate limiting,例如在 20 秒內重新創建遊戲房間時,會跳出錯誤消息提到無法說與遊戲服務器連線,也就是進一步降低玩家創造房間的速度;登入排隊(Login Queue Creation),也就是在遊戲玩家眾多的情況下,進行登入排隊佇列,就像各位在《魔獸世界》中所經歷的那樣。

    並將主要的大服務功能拆分成小服務,這目前已經在進行中並可更新,而當這個重大功能分拆後,可以更有效的管理遊戲服務器,並將低整體的負擔。

    痛苦太多,收穫太少

    source: us.forums.blizzard.com
    更多圖片 小圖 大圖
    組圖打開中,請稍候......
    您需要登錄後才可以回帖 登錄 | 註冊 |

    本版積分規則

    小黑屋|手機版|無圖浏覽|網站地圖|XFastest  

    GMT+8, 2025-12-16 07:54 , Processed in 0.146544 second(s), 36 queries .

    專業網站主機規劃 威利 100HUB.COM

    © 2001-2018

    快速回復 返回頂部 返回列表