eve_news_en_1920x1080.jpg


第二次暫停每日維護測試



原文鏈接: https://www.eveonline.com/news/view/no-downtime-again

每一天, CCP Explorer 都在記錄日常維護的狀況。

在上一次暫停維護測試時, 該時期每週末伺服器自動重啟需時大約 4分鐘又20-40秒, 剛剛好能沖上一壼好茶。時至今日, 大約一年半後, 自動重啟的時間已縮減至 3分鐘又 34秒, 要是茶沖得快點還是能趕上。由2019年至今對伺服器進行了各種改善提升工程後, 自動重啟時間都能穩定在 3分鐘又 30-40秒左右。

由 2019年12月3日至 2021年7月3日, CCP 對伺服器的改善工程共約縮減了 50-60秒的重啟時間, 即提升了 22.5%, 如果用一個非常科學的預估趨勢評估的話, 大約到了2026年12月19日就能把 DT 時間縮減至0了 (笑。

然而事實上伺服器重啟有一個最短時間限制, 大約爲 3分鐘, 讓伺服器進行三個步驟 : 關閉, 數據庫維護工作, 重啟。每一個工序大約需時 1分鐘, 除非再對伺服器基層有任何重大作業, 否則這就是最短重啟時間了。雖然 DT 不能夠短於 160-200秒, 但 CCP 可以縮減 DT 次數, 甚至完全不作停機的呀。儘管如此, CCP 還是在此用上一些具體的例子來說明自上次以來在減少 DT 時間方面所做的改進。以及計劃在 9月9日進行第二次暫停每日維護測試。

第二次暫停每日維護測試的主要目標有以下四點:

  • 於實際環境中, 審視並評估於上一次暫停每日維護後, 針對所產生問題作出的修正的效果
  • 審視有沒有其他代碼及項目自上一次測試以來的表現有所倒退或變差, 以及探索其他可能出現的問題
  • 觀察記憶體用量
  • 審視CCP 的技術平台還有沒有其他依賴 DT 的項目

那上次的測試有甚麼大發現麼?

首先也是最重要的是, CCP 發現伺服器依賴 DT時間來標記每日週期的開始, 好讓建築能正確完成其 24+ 小時的錨定, 及公司加入勢力戰爭等計算元素。CCP 已修正這些項目。現在需要再一次實際測試 (當然CCP 有在其測試環境中試過了, 但現實規模及環境永遠有很多未知數) 來驗證這些修正是否正確地運作, 以及尋找其他可能問題。

另一個發現的問題是 時間不同步, 這個也修正了; 以及改善記憶體用量。

其實 CCP 一早就知道會有時間不同步這問題。而 CCP 目標是最大不同步差爲 正負 0.5秒。但經歷過往各種伺服器硬件升級工作後, CCP 發現於 2019年那次測試時就發現有約 2.25秒的不同步情況, 並且預估到了測試的第 2天結尾不同步情況會高達 4.5秒。

在時間不同步多達 3秒後, 玩家會開始明顯感覺得到, 例如在裝備啟用中進出時間不同步的星系時, 會造成裝備啟用明顯遲緩。經過各種修正工作過後, 現在時間不同步現象介乎於 正負 1/100 秒, 最大不同步情況亦不超過 正負 0.5秒。

另外, Tranquility 伺服器是一只記憶體怪獸。爲了讓伺服器有更好的表現, CCP 過往一直都選擇預先計算值和處理數據並存儲結果以供以後參考, 而不是稍後再次重新計算這些值。例子有:Brain in a Box 及 Dogma Rewrite 等, 以預先計算好玩家角色的技能加成值, 並儲存起來然後在進入新星系時直接使用而不需要重新再計算一遍。CCP 目前並沒有釋放伺服器記憶體的操作, 畢竟伺服器每天都會重啟, 這就是上述提及到依賴 DT 的項目之一。(注意:CCP 當然不會清除數據庫的緩存內存或 Redis 緩存內存, 但是在每次 DT 重啟中都會清除主要的模擬緩存內存)。

Tranquility 伺服器佔用最大記憶體的, 是處理角色信息的節點, 亦即是剛才提到 Brain in a Box 中以計算好的角色數據所儲存的地方, 在上一次暫停維護測試結束前達到 75% 的用量, 僅低於操作容錯上限的 80%。以這達到 100% 用量推算, CCP 或許能持續不停機運行達 3天 (或者其實只是多 7小時) 。在 2019年的測試第1天結束後, 記憶體壓力達到 55%, 而今天這數字是 35%。

不停機維護是 CCP 的長遠目標, CCP 各種技術提升都是以此爲目標。CCP 已經在 微服務 和 消息總線技術平台上爲 EVE 工作了幾年。CCP 現在想觀察該生態系統如何在伺服器不停機的情況下保持正常運行, 並且確保沒有其他依賴停機的情況。

9月9日, 第二次暫停每日維護測試中再見各位。當然, 第一輯的暫停維護宣傳影片正在路上。 nodowntimedan.jpg

  • 最后更改: 2021/09/07 04:22
  • user1529