Univer 協同引擎性能測試
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
引言在當今快節(jié)奏的商業(yè)環(huán)境中,實時協作編輯已成為現代生產力應用不可或缺的核心功能。它讓遠程團隊能夠高效協作,共同完成創(chuàng)作和編輯任務。本報告深入評估了 Univer 協同引擎在處理多人實時協作編輯時的性能表現,并將其與市場上其他領先產品進行對比。
在這篇論文中,提出了市場上流行的實時編輯服務中延遲性能測量。提出了協同編輯人數是影響實時編輯系統(tǒng)性能的主要因素,以下是主流實時編輯產品表現:
Univer GitHub 地址:github.com/dream-num/u… 介紹 Univer 協同引擎為了更好理解測試過程,讓我們簡要介紹一下 Univer 協同引擎的實現方案。 Univer 協同引擎非常注重擴展性,已支持分布式方案。但為便于敘述,我們將暫時采用單機部署方案來描述。 Univer 協同引擎主要使用兩種編程語言:Golang 和 JavaScript。
Univer 使用 OT(操作轉換)作為協同沖突處理的方案。 為了加快單個請求處理速度,協同引擎被設計為有狀態(tài)服務,即每篇活躍文檔在內存中都有一份最新的拷貝,客戶端的編輯請求會迅速應用和寫入。 有狀態(tài)服務 Collaboration-server 采用 Node.js 實現,與前端編輯器共享相同的沖突處理代碼,包括兩個核心方法:
無狀態(tài)服務 Universer 使用 Golang 實現,主要負責調度和網絡
以下是用戶編輯事件如何被協同引擎處理的過程:
性能測試為全面評估 Univer 協同引擎的性能,我們精心設計了一系列測試,涵蓋了關鍵指標和典型場景。 為方便敘述,介紹幾個關鍵術語: 通俗講,衡量協同體驗最直接的指標是,A 的編輯多久后被 B 應用并展示。 這個過程涉及的變量很多,為簡化壓測過程,這里提取最關鍵的變量,并稱為“協同延遲”。
在當前協同引擎模型下,影響協同延遲的直接因素為 CS 的處理數量,不妨稱為 協同并發(fā)數。 測試環(huán)境:
預設條件:
測量方法:
預期結果:研究協同編輯人數與協同延遲 (pct99) 之間的關系。 測量結果:
總結
憑借這些基準結果,Univer 協同引擎在實時協作中展現出不俗的性能,處理 200 個并發(fā)用戶時,協同引擎成功將協作延遲保持在約 1.3 秒左右,接近業(yè)界主流產品水平。 同時隨著協同人數增加,協同延遲出現指數增長的趨勢。我們將繼續(xù)改進引擎支持大量并發(fā)用戶的能力,并盡量降低延遲。 作者:陽絡 鏈接:https://juejin.cn/post/7355439624100855843 來源:稀土掘金 著作權歸作者所有。商業(yè)轉載請聯系作者獲得授權,非商業(yè)轉載請注明出處。 該文章在 2024/7/25 11:49:10 編輯過 |
關鍵字查詢
相關文章
正在查詢... |