狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Univer 協同引擎性能測試

freeflydom
2024年7月25日 11:49 本文熱度 786

引言

在當今快節奏的商業環境中,實時協作編輯已成為現代生產力應用不可或缺的核心功能。它讓遠程團隊能夠高效協作,共同完成創作和編輯任務。本報告深入評估了 Univer 協同引擎在處理多人實時協作編輯時的性能表現,并將其與市場上其他領先產品進行對比。

Real-time Collaborative Editors Performance.pdf

A Research for real-time collaborative editor performances.

在這篇論文中,提出了市場上流行的實時編輯服務中延遲性能測量。提出了協同編輯人數是影響實時編輯系統性能的主要因素,以下是主流實時編輯產品表現:


Office 365騰訊文檔石墨文檔Google Sheet飛書表格
協同編輯人數上限365200200200200

注:上述數據截止于 2022 年。

Univer GitHub 地址:github.com/dream-num/u…

介紹 Univer 協同引擎

為了更好理解測試過程,讓我們簡要介紹一下 Univer 協同引擎的實現方案。

Univer 協同引擎非常注重擴展性,已支持分布式方案。但為便于敘述,我們將暫時采用單機部署方案來描述。

Univer 協同引擎主要使用兩種編程語言:Golang 和 JavaScript。

  • Golang 擅長處理高并發和快速網絡 I/O,使 Univer 協作引擎能夠輕松處理大量客戶端連接請求;

  • JavaScript(Node.js)使得后端與前端之間的代碼共享變得容易,并極大減少了處理沖突錯誤的可能性。同時也為未來服務器端計算和渲染奠定了重要基礎。

Univer 使用 OT(操作轉換)作為協同沖突處理的方案。

為了加快單個請求處理速度,協同引擎被設計為有狀態服務,即每篇活躍文檔在內存中都有一份最新的拷貝,客戶端的編輯請求會迅速應用和寫入。

有狀態服務 Collaboration-server 采用 Node.js 實現,與前端編輯器共享相同的沖突處理代碼,包括兩個核心方法:

  • Transform:實施表格或文檔的 OT 算法,對 changeset 進行操作轉換;

  • Apply:將轉換后的 changeset 應用到表格/文檔。

無狀態服務 Universer 使用 Golang 實現,主要負責調度和網絡

  • Comb:基于 WebSocket 實現房間服務,用于廣播和分發協同事件;

  • Snapshot:基于 EventSourcing 模式提供文檔快照服務,并高效還原任意版本文檔。

以下是用戶編輯事件如何被協同引擎處理的過程:

changeset 指的用戶編輯后產生的一組變更,通常簡稱為 cs

性能測試

為全面評估 Univer 協同引擎的性能,我們精心設計了一系列測試,涵蓋了關鍵指標和典型場景。

為方便敘述,介紹幾個關鍵術語:

通俗講,衡量協同體驗最直接的指標是,A 的編輯多久后被 B 應用并展示。

這個過程涉及的變量很多,為簡化壓測過程,這里提取最關鍵的變量,并稱為“協同延遲”。

協同延遲能有效地衡量 CS 的 transform, apply 的性能。

在當前協同引擎模型下,影響協同延遲的直接因素為 CS 的處理數量,不妨稱為 協同并發數。

測試環境:

  • ECS 配置為 4 核 8GB 內存

  • 采用單機部署模式(docker compose)

預設條件:

  • 每個客戶端平均發送編輯事件頻率約為 0.15 次每秒;

  • 當協同編輯人數達到 200 時,協同并發數約為 30(CS QPS=30);

測量方法:

  • 逐步增加協同編輯人數,觀察并記錄協同延遲情況;

  • 測量總時長為 5 分鐘;

預期結果:研究協同編輯人數與協同延遲 (pct99) 之間的關系。

測量結果:

Number of Users50100150160170180190200210220230240250
Latency pct99 (ms)3280.4281.9413.4506654.8862.41352.82051.22706.73662.84674.65409.7

總結

  • 圖表顯示,在一臺普通的 4 核 8GB 服務器上處理 200 個并發用戶時,協同引擎協作延遲保持在約 1.3 秒左右;

  • 隨著協同編輯人數變多,協同延遲逐漸出現非線性的增長,下面是對其指數擬合:y = 3.92e^(0.03x)

憑借這些基準結果,Univer 協同引擎在實時協作中展現出不俗的性能,處理 200 個并發用戶時,協同引擎成功將協作延遲保持在約 1.3 秒左右,接近業界主流產品水平。

同時隨著協同人數增加,協同延遲出現指數增長的趨勢。我們將繼續改進引擎支持大量并發用戶的能力,并盡量降低延遲。


作者:陽絡
鏈接:https://juejin.cn/post/7355439624100855843
來源:稀土掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。



該文章在 2024/7/25 11:49:10 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved