從技術層面分析我叫MT2跨服卡的問題,今天應該驗證了一個數(shù)據(jù)死鎖的問題,從中午12點到下午5點和昨天一樣完全卡死,照理說下午2點到5點并不是游戲高峰時間,那很大可能是數(shù)據(jù)上有死鎖,在并發(fā)更新數(shù)據(jù)時產(chǎn)生了死鎖,導致后面的數(shù)據(jù)讀取和更新都有問題,然后技術人員可能在5點找到了原因重啟了對應的服務或者kill了死鎖,然后就無比順暢。
以下是昨天在其他帖子的回復
跨服卡根源上是技術問題
1、排名實時統(tǒng)計:每個玩家的每場戰(zhàn)斗都會實時計算排名(相互產(chǎn)生影響),戰(zhàn)斗結果并發(fā)一旦高,運算量就會非常大,如果算法沒處理好,運算量是幾何級的上升,說不定還會引起數(shù)據(jù)鎖的問題,所以會發(fā)現(xiàn)越熱的時間段越卡。
2、排名實時查詢:大家可以發(fā)現(xiàn)排行榜中的跨服排行是實時刷新的,每次點進去會有加載的過程,這意味著服務器是實時查詢和反饋結果的,并且傳回客戶端,如果這時候結果還在頻繁變化,那么可想而知這個效率有多差。排行中像戰(zhàn)力榜這種就是非實時的,要重新登錄才會刷新。
3、換一批機制:換一批對手對玩家很有幫助,但是對服務器的開銷也不小,也是實時需要服務端實時計算和返回數(shù)據(jù)的,這周新增的“喝口茶”就是為了避免刷新并發(fā)過高,結果套用一句最流行的話“然并卵”。
以上是主因,其他一些就不細述了
從策劃和產(chǎn)品UE的角度來看,他們對于跨服的實時數(shù)據(jù)要求并沒有錯,因為實時對于用戶的體驗是最好的,但是系統(tǒng)的設計開發(fā)人員并沒有把實時帶來的性能問題強調出來,可能覺得能搞定也可能策劃和產(chǎn)品太強勢。
整個團隊的問題是壓測不充分、對于問題的反應太慢、抱著僥幸的心理應對等等。
最后要說的搞不定實時體驗就退一步,別對自己團隊的能力太自信,被打臉這么多次了還不徹底調整。
如果是數(shù)據(jù)死鎖的問題,開發(fā)能徹底解決,那后面的跨服性能問題都會得到很大的改善。