簡體   English   中英

MongoDB Realm 與 Stitch 登錄時間 - 為什么 Realm 這么慢?

[英]MongoDB Realm vs. Stitch login times - why is Realm so slow?

我使用托管在 Atlas 上的 MongoDB 數據庫構建了一個 Web 工具,通過Stitch連接。 據我了解,Stitch 現在已經貶值,已經變成了MongoDB Realm 所以我嘗試更新我的網站,使用新的 Realm 應用程序而不是 Stitch。 雖然它確實有效,但由於某種原因,匿名登錄現在要慢得多。 我使用 MongoDB 文檔中建議的代碼進行了一些快速測試:

let t0 = performance.now()
app.logIn(Realm.Credentials.anonymous()).then(() => {
         let t1 = performance.now()
         db.collection('test').find({
                category: "test"
            }, {limit: 10})
        console.log("Login took " + (t1 - t0) + " milliseconds.")
    })

登錄花了我難以置信的1200 ms

let t0 = performance.now()
app.auth.loginWithCredential(new stitch.AnonymousCredential()).then(() => {
            let t1 = performance.now()
            db.collection('test').find({
                category: 'test'
            }, {limit: 10}).asArray()
            console.log("Login took " + (t1 - t0) + " milliseconds.")
        })

使用舊的 Stitch 應用程序,登錄通常需要不到20 ms

任何想法這里發生了什么或如何解決這個問題? 我確實知道有可能按照他們的文檔中的描述首先對用戶進行身份驗證,但是我試過了,而且速度也很慢。

實際上是否需要更新到新的 Realm 應用程序,例如,舊的 Stitch 實現會在不久的將來停止工作嗎? 任何有關這方面的信息將不勝感激;)

更新:我做了更多調查,似乎 Realm 速度較慢的原因是使用logIn(Realm.Credentials.anonymous()).then(() => ...導致兩個 Post請求,但使用auth.loginWithCredential(new stitch.AnonymousCredential()).then(() => ...在一個請求中完成身份驗證和內容下載。使用 Realm 我兩次獲得 500-700 毫秒的 TTFB 等待時間,使用只發生一次的 Stitch。

我目前正在使用 MongoDB Realm 從頭開始​​創建應用程序的后端。 我正在使用他們的 Web SDK 使用電子郵件密碼憑據進行身份驗證。 我的往返性能平均約為 600-800 毫秒。

Chrome DevTools 顯示了大約 600 毫秒的 Realm 用戶身份驗證往返

對於我的應用程序(使用 Vue 前端),這對我來說是可以接受的。 我不知道您的要求是什么,但您可能想嘗試使用新的 SDK。 不幸的是,我在使用 Realm 提供的 GraphQL 端點服務時遇到了糟糕的查詢性能。 根據我在他們的論壇上開始的一個帖子,他們的工程師正在研究它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM