Node.js 缓慢的Firebase Firestore云冷启动功能

Node.js 缓慢的Firebase Firestore云冷启动功能,node.js,firebase,google-cloud-firestore,google-cloud-functions,Node.js,Firebase,Google Cloud Firestore,Google Cloud Functions,在冷启动时(部署后或3小时后),从Firestore请求文档的功能需要花费令人难以置信的时间,这与快速使用时不同 冷启动: Function execution took 4593 ms, finished with status code: 200 快速射击(多次使用相同功能发送me): 我获取文档的代码非常简单: function getWorkspaceDocument(teamSpaceId) { return new Promise((resolve, reject) =&g

在冷启动时(部署后或3小时后),从Firestore请求文档的功能需要花费令人难以置信的时间,这与快速使用时不同

冷启动:

Function execution took 4593 ms, finished with status code: 200
快速射击(多次使用相同功能发送me):

我获取文档的代码非常简单:

function getWorkspaceDocument(teamSpaceId) {
    return new Promise((resolve, reject) => {
        var teamRef = db.instance.collection('teams').doc(teamSpaceId);
        teamRef.get().then(doc => {
            if (doc.exists) {
                resolve(doc.data());
                return;
            }
            else {
                reject(new Error("Document cant be found"));
                return;
            }
        }).catch(error => {
            reject(new Error("Document cant be found"));
        });
    });
}

我正试图让一个懒散的机器人和缓慢的返回Firebase Firestore抛出在宽松的API超时。Firebase上有没有办法阻止冷启动的发生并让它持续到底?

如果云功能需要启动一个新实例,那么冷启动时间似乎正常。这是无服务器功能的一个缺点

我认为你的执行有问题。你能展示更多细节吗

下面是一段关于这个主题的精彩视频:

您是否从正确的地理位置启动firestore功能*
function getWorkspaceDocument(teamSpaceId) {
    return new Promise((resolve, reject) => {
        var teamRef = db.instance.collection('teams').doc(teamSpaceId);
        teamRef.get().then(doc => {
            if (doc.exists) {
                resolve(doc.data());
                return;
            }
            else {
                reject(new Error("Document cant be found"));
                return;
            }
        }).catch(error => {
            reject(new Error("Document cant be found"));
        });
    });
}