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
- 查看函数日志: 在仪表板中,导航到函数 > [你的函数] > 日志
- 检查启动时间: 查找
booted事件并检查启动时间是否一致 - **识别瓶颈:**检查你的代码中运行缓慢的操作
分析启动时间模式 #
🌐 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 results2const { data } = await supabase.from('users').select('id, name').limit(10)34// Avoid: Fetching all columns from large tables5const { data } = await supabase.from('users').select('*')函数变慢的常见原因 #
🌐 Common causes of slow functions
- 大型依赖: 大型包会增加启动时间
- 慢速的外部 API 调用: 响应很慢的第三方服务
- 复杂计算: CPU密集型操作
- 未优化的数据库查询: 获取的数据比实际需要的多
- **冷启动:**空闲一段时间后的首次调用会更慢
额外资源 #
🌐 Additional resources