首页 > 解决方案 > FireabaseAuth 频繁超时

问题描述

我有一个谷歌云功能,它确实对我的用户进行身份验证...该功能非常简单,它使用数据库验证发布参数并创建或不创建身份验证令牌然后响应客户端...

这个函数平均需要 200 毫秒来处理,但有时它会超时 [40 秒] 超时的调用百分比非常小 [我会说大约 1%] 但我仍然不知道为什么他们会超时

我每天大约有 10k 用户,高峰时同时有 3k 用户......但不要认为需求是这里的主要因素,因为这些超时也发生在高峰时间之外......

在此处输入图像描述

我花了很多时间尝试调试并找到原因,虽然非常困难,但我找到了导致它的函数

function authenticate(uid, newUser, res) {
    auth.createCustomToken(uid).then(function(customToken) {

        res.status(200).json({
            t: customToken,
            n: newUser
        });
    }).catch(function(error) {
        console.error("Error creating custom token:" + JSON.stringify(error));
        res.status(200).json({
            e: error
        });
    });

}

我不会复制整个身份验证函数,因为它是一个长函数,虽然它的逻辑非常简单,但代码本身很大......而且我已经调试到足以知道问题来自这个函数调用

我检查了 firebase 仪表板,身份验证页面显示我有 270 万个 uid(我不知道这是否有问题)

即使使用相同的参数,我也试图重现这些超时但没有成功

说了这么多我想问...

1-有没有办法在谷歌云功能上捕捉功能超时?[即使调试它也非常困难,因为日志没有将超时归类为错误(谷歌工程师在想什么?)]

2-有谁知道可能导致这种情况的任何事情?

标签: firebasegoogle-cloud-platformfirebase-authenticationgoogle-cloud-functions

解决方案


推荐阅读