Skip to content

Edge Function takes too long to respond

Edge 函数的执行有 60 秒的限制。如果你的函数响应太慢,可以按照以下步骤来诊断和优化性能。

🌐 Edge Functions have a 60-second execution limit. If your function is taking too long to respond, follow these steps to diagnose and optimize performance.

查出问题 #

🌐 Diagnose the issue

  1. 查看函数日志: 在仪表板中,导航到函数 > [你的函数] > 日志
  2. 检查启动时间: 查找 booted 事件并检查启动时间是否一致
  3. **识别瓶颈:**检查你的代码中运行缓慢的操作

分析启动时间模式 #

🌐 Analyze boot time patterns

  • 如果启动时间一直很慢: 问题很可能出在你的函数代码上,比如依赖太大、API 调用慢,或者计算很复杂。可以重点优化代码、减少依赖大小,或者实现缓存。
  • 如果只有某些启动事件很慢: 在元数据中找到受影响的 region,然后通过仪表板顶部的“帮助”按钮提交支持请求。

优化数据库查询 #

🌐 Optimize database queries

低效的数据库查询是导致响应慢的常见原因:

🌐 Inefficient database queries are a common cause of slow responses:

1
// Good: Only select needed columns and limit results
2
const { data } = await supabase.from('users').select('id, name').limit(10)
3
4
// Avoid: Fetching all columns from large tables
5
const { data } = await supabase.from('users').select('*')

函数变慢的常见原因 #

🌐 Common causes of slow functions

  • 大型依赖: 大型包会增加启动时间
  • 慢速的外部 API 调用: 响应很慢的第三方服务
  • 复杂计算: CPU密集型操作
  • 未优化的数据库查询: 获取的数据比实际需要的多
  • **冷启动:**空闲一段时间后的首次调用会更慢

额外资源 #

🌐 Additional resources