Cloudflare 前端 NEXT.JS 还是 REMIX 还是 ASTRO
最近一段时间一直在做 [https://bataitools.com/](https://bataitools.com/) ,然后部署在 Cloudflare,中间一直遇到 CPU 限制的问题,说一下经历。这问题也让我无语,毕竟是这么简单的小导航站。
1. 最开始我是用 NEXT.JS (因为有动态 URL,所以当时用了服务端模式),然后使用 OpenNext 时总是遇到 CPU 限制(我后来怀疑是没有配置好,或是部分代码写得不太好导致,可惜架构已经切换了)。
2. 通过和 AI 沟通,代码已经很复杂,推荐我切换到 React Router 7,最后发现还是有 CPU 限制。
3. 开始优化数据库查询性能,创建索引,减少查询复杂度,引入缓存,结果还是偶发 CPU 限制。
4. 最后在前端加入了一个自定义的 edge cache,确实好多了,基本上没有 CPU 限制,但感觉这有点怪怪的,而且首页会偶发 CPU 限制。
5. 终极方案是,首页内容多,查询条件多,直接用定时任务跑缓存,首页直接拿缓存就好了,这个时候基本上没有啥问题。
6. 最后发现在某些页面还是有 CPU 限制,发现是动态加载元数据导致的,把 react router 的配置改为 routeDiscovery: { mode: 'initial' },但是页面会增加 19kb 的内容(压缩后)。
7. 最后把页面的 CDN 缓存打开,缓存 5 分钟,基本上没有 CPU 限制,但会在某个时间突发 CPU 限制,这个时候后台会看到很多 CPU 限制的错误。
我的网站实际上很简单,业务也不复杂,我真不知道为什么会出现这种问题,不知道免费的就是这样。
有熟悉的朋友来评论一下,你们都在用啥框架呀?这个问题前前后后折腾了挺长时间的,如果整体换 Astro 感觉会更好,但换 Astro 需要完全重构代码,涉及的东西也不少,就算 AI 改写,很多地方也会有问题。
---
原文链接:[点击查看](https://www.v2ex.com/t/1234438)
1. 最开始我是用 NEXT.JS (因为有动态 URL,所以当时用了服务端模式),然后使用 OpenNext 时总是遇到 CPU 限制(我后来怀疑是没有配置好,或是部分代码写得不太好导致,可惜架构已经切换了)。
2. 通过和 AI 沟通,代码已经很复杂,推荐我切换到 React Router 7,最后发现还是有 CPU 限制。
3. 开始优化数据库查询性能,创建索引,减少查询复杂度,引入缓存,结果还是偶发 CPU 限制。
4. 最后在前端加入了一个自定义的 edge cache,确实好多了,基本上没有 CPU 限制,但感觉这有点怪怪的,而且首页会偶发 CPU 限制。
5. 终极方案是,首页内容多,查询条件多,直接用定时任务跑缓存,首页直接拿缓存就好了,这个时候基本上没有啥问题。
6. 最后发现在某些页面还是有 CPU 限制,发现是动态加载元数据导致的,把 react router 的配置改为 routeDiscovery: { mode: 'initial' },但是页面会增加 19kb 的内容(压缩后)。
7. 最后把页面的 CDN 缓存打开,缓存 5 分钟,基本上没有 CPU 限制,但会在某个时间突发 CPU 限制,这个时候后台会看到很多 CPU 限制的错误。
我的网站实际上很简单,业务也不复杂,我真不知道为什么会出现这种问题,不知道免费的就是这样。
有熟悉的朋友来评论一下,你们都在用啥框架呀?这个问题前前后后折腾了挺长时间的,如果整体换 Astro 感觉会更好,但换 Astro 需要完全重构代码,涉及的东西也不少,就算 AI 改写,很多地方也会有问题。
---
原文链接:[点击查看](https://www.v2ex.com/t/1234438)
· 0 个赞
· 0 个赞
· 0 个赞