问题
从服务器首次调用 Firebase 所需的时间比后续调用长约 15 到 20 倍。虽然这对于调用 Firebase 的传统服务器来说不是问题,但它可能会导致利用 Amazon Lambda/Google Cloud Functions 的无服务器架构出现问题。
问题
- 为什么第一次通话这么慢?是因为认证吗?
- 有什么解决方法吗?
- 使用 Amazon Lambda/Google Cloud Functions 在 Firebase DB 上进行一些用户启动的数据计算并在 1 - 2 秒内将结果返回给客户端是否可行?
语境
我计划使用无服务器架构,将 Firebase 作为我的数据存储库,并使用 Amazon Lambda/Cloud Functions 通过一些服务器端计算来增强 Firebase,例如搜索其他用户。我打算通过来自客户端的 HTTP 请求触发这些功能。
我担心的一个问题是第一次从服务器调用 Firebase 会花费大量时间。在我的笔记本电脑上测试一些服务器端代码时,第一个监听器在 6 秒后返回!后续调用在 300 - 400 毫秒内返回。数据集非常小(2 - 3 个键值对),我还通过交换观察者进行了测试。
相比之下,从我的笔记本电脑调用 Google Maps API 需要大约 400 毫秒才能返回。
我意识到服务器的响应时间会快得多。第一次通话的 15 - 20 倍仍然令人不安。