2

Atlas でホストされ、 Stitch経由で接続された MongoDB データベースを使用して Web ツールを構築しました。私の理解では、Stitch は減価償却され、MongoDB Realmになりました。そこで、Stitch の代わりに新しい Realm アプリを使用して、サイトを更新しようとしました。動作はしますが、匿名ログインは何らかの理由で非常に遅くなりました。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(() => ...と 2 つの Post 要求が発生するのに対し、使用auth.loginWithCredential(new stitch.AnonymousCredential()).then(() => ...すると認証とコンテンツのダウンロードがすべて 1 つの要求で行われるという事実にあるようです。Realm では 500 ~ 700 ミリ秒の TTFB 待機時間が 2 回発生しますが、Stitch では 1 回だけ発生します。

4

1 に答える 1