·조회수 69

无服务器网站不会陷入Cold start,因此需要进行预热。

情况

在部署查询服务器时间的 丹佛服务器时间 项目时,发现如果长时间不访问,再次访问时会出现大约4秒的延迟,然后才显示页面的冷启动现象。由于通过Vercel进行无服务器部署成本较低,经常使用,但长时间加载给用户带来不便。在研究解决方法时,看到了Tobin的 Speeding up AWS Amplify NextJS First Render + Cold Start: An Unexpected Result 文章,成功解决了问题。认为有许多开发人员需要解决冷启动问题的无服务器预热方法,因此分享这个过程。

应用方法

预热简而言之就是在网站进入休眠状态之前持续加载以唤醒它。大约5分钟没有人访问的网站会进入深度休眠的冷状态。因此,在进入休眠之前再次加载以唤醒,它将再次保持唤醒状态5分钟。通过重复这个过程,可以创建一个始终保持唤醒状态的无服务器网站。登录到AWS Route53控制台,然后在左侧菜单中选择Health checks,可以创建定期检查网站是否存活的Health check。点击Create health check,然后按照以下选项创建。就这样。据说每个Health check大约需要1美元/月。您可以通过参考博客文章获取更多详细信息。希望这篇文章对您有所帮助。

参考资料

https://medium.com/aws-tip/speeding-up-aws-amplify-nextjs-first-render-cold-start-and-images-an-unexpected-result-36a416d69615

김지식
김지식
웹, 앱 개발자입니다.

댓글

댓글을 불러오는 중...