Vercel 缓存时间和区域配置

问题描述 投票:0回答:1

我正在寻找有关 Vercel 上缓存如何工作以及如何正确配置缓存区域的建议。

我的获取请求被缓存,后续调用会命中缓存而不向后端发出请求。在 localhost 上,这些调用大约需要 1 毫秒,但在 Vercel 上,它们需要 60-80 毫秒。这并不比直接从后端获取数据快多少。 我们谈论的是 SSR 时代,而不是客户端。

我知道这是一个异步函数,但确实感觉从 Vercel 提取缓存需要花费时间。我是不是做错了什么?

我还注意到,当我在欧洲时,功能默认在美国运行。我将 Vercel 配置中的区域配置设置为法国,但没有注意到任何差异。

任何人都可以深入了解这种行为以及在投入生产之前我应该做什么?

谢谢!

next.js caching vercel
1个回答
0
投票

我检查了 Vercel 的文档,这里有一些建议(创建于此处 https://vercel.com/docs/infrastruct/data-cache#vercel-data-cache 和此处 https://vercel.com/docs /edge-network/regions#vercel-edge-network-regions):

  • Vercel 数据缓存中的延迟:Vercel 的数据缓存旨在 存储来自获取请求的响应,但是您所在的每个区域 无服务器或边缘功能运行有其独立的缓存。这 您注意到的延迟差异可能是由于从缓存中获取数据所需的时间造成的 层或区域边缘基础设施设置。这可以包括 通过存在点 (PoP) 进行路由并与 计算任务的最近边缘区域。
  • 为函数设置区域:默认情况下,Vercel 的 Serverless 函数在iad1(美国华盛顿特区)区域运行,这可以 如果您在欧洲,请解释一下响应时间较慢的原因。你可以 使用区域指定更接近您的数据或用户群的区域 配置。
  • 使用边缘中间件和网络:Vercel 边缘网络利用 PoP 将用户请求路由到最近的支持计算的边缘 地区。虽然这些 PoP 最大限度地减少了请求的初始延迟, 实际的计算或缓存检索可能仍然取决于 选定的边缘区域。如果数据库或后端服务器距离较远 选择的区域,可能会出现额外的延迟.
  • 缓存配置:设置重新验证间隔以确保缓存数据 保持新鲜并最大限度地减少来源获取。理想情况下,将你的优势 靠近后端或数据库的区域以避免级联延迟
  • 测试和优化:生产前,彻底测试 使用 Vercel 的 vercel dev CLI 工具来模拟的配置 部署环境并验证特定区域的性能。 考虑边缘或无服务器运行时是否更适合您的使用 案例。
© www.soinside.com 2019 - 2024. All rights reserved.