Skip to content
返回部署

边缘图片优化

在边缘自动调整大小、压缩和格式转换图片。

边缘进阶

为什么

边缘图片优化减少负载 70%+,并向兼容浏览器提供 WebP/AVIF。Cloudflare 边缘网络覆盖 330+ 城市,全球 p95 延迟低于 50ms。

边缘函数相比源服务器将 TTFB 降低 60-80%,Akamai 报告 2024 年 40% 的企业使用边缘计算。

何时使用

有大量图片内容且面向多样设备的站点。 需要数据库写入的有状态逻辑避免边缘函数 — 边缘运行时无持久连接池。需要长时间运行任务(>30s)或重 CPU 计算时跳过。

如何做

# Next.js 镜像 component (边缘 优化) import Image from 'next/image'; <Image src="/hero.jpg" alt="Hero" width={1200} height={630} priority placeholder="blur" blurDataURL="data:image/jpeg;base64,..." /> // next.配置.js module.exports = { images: { formats: ['image/avif', 'image/webp'], deviceSizes: [640, 750, 828, 1080, 1200, 1920], imageSizes: [16, 32, 48, 64, 96, 128, 256, 384], minimumCacheTTL: 2592000, }, }; 4. 验证部署 — curl -I https://your-app.example.com 5. 监控日志 — 前 5 分钟检查错误 6. 需要时回滚 — 回退到上一版本

示例

// 配置 — deploy-image-optimization const config = require("./config"); # Vercel 镜像 优化 API GET https://example.com/_next/image?url=/photo.jpg&w=750&q=75 # Cloudflare 镜像 Resizing <img src="/cdn-cgi/image/width=750,quality=75/photo.jpg" />

常见问题

  • ⚠首次优化慢 — 缓存优化变体
  • ⚠外部图片被阻止 — 在 next.config 配置 remotePatterns
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓AVIF 优于 WebP — 同质量小 20%
  • ✓首屏图片设 priority — 防止 LCP 延迟
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答