PRNext 0.1.18 与 Next.js:CPU、RAM 和睡眠
PRNext 0.1.18-alpha 与 Next.js 16.4.3 的本地候选:吞吐量、CPU、RAM、导航和唤醒延迟,具有确切的版本和测试限制。
内部工具可以供少数人使用,而无需在几个小时内收到请求。它的进程仍然占用内存。 PRNext 可以退休空闲的 Node Worker,并在渲染请求到达时重新创建它们。
这会用一些空闲内存来换取唤醒工作。本指南解释了确定循环是否适合您的应用所需的测量、设置和检查。设置描述 PRNext 0.1.18-alpha.
在此处测量的机制中,Rust 服务器保持侦听,而节点工作人员在空闲间隔后退出。下一个需要渲染的请求将重新创建所需的工作人员。这与停止 VPS 或挂起操作系统不同。
本地 prnext 主机命令还可以使网关后面的整个应用程序休眠。托管 PRNext Host 服务又是另一层。这里的值描述了应用程序服务器工作线程的退休,而不是那些其他机制的总成本。
在 10 月 29 活动中的小型 VPS 上,使用加速的两秒空闲间隔测试了简单的 SSR 页面。工人退休后,进程树 PSS 下降到大约 10.5 MiB。为工人保暖,该探头中使用了 106.8 MiB。
与热时的 22.6 ms 相比,唤醒请求大约花费了 1,130 ms 时间。每个设置只有一个观察结果。该探测器使用了已确定的开发候选者,而不是对最终 npm 包或整个 VPS 的新测量。这些值说明了权衡,但没有预测您的应用程序。
构建后,--prewarm 在接受请求之前准备框架。它不执行应用程序页面或 API,也不会阻止以后闲置退出。 --worker-idle-seconds 0 保留使用的渲染主机,而不是因不活动而将其淘汰。
以下命令请求准备启动并保留使用过的工作人员。它不保证从未访问过的路由已加载每个依赖项。还要测量部署后对昂贵路线的首次访问和行为。
npx --no-install prnext build
npx --no-install prnext start --hostname 127.0.0.1 --port 3001 --prewarm --worker-idle-seconds 0显式的 60-second 间隔使得在孤立实例上易于观察循环。访问该页面,等待工人实际退休并衡量下一个请求。六十秒是一个示例设置,并非针对每个站点的建议。
持续请求渲染路由的运行状况探测器可能会阻止睡眠。检查哪些监控请求以及服务器如何处理它。还要测试一次唤醒期间到达的多次访问:单个请求无法描述该峰值。
npx --no-install prnext start --hostname 127.0.0.1 --port 3001 --worker-idle-seconds 60退休工人会删除其内存状态。仅在该进程中举行的会话、应用程序缓存和后台工作可能会消失。必须保存的数据需要持久存储或合适的外部服务。
在启用睡眠之前,测试登录、唤醒后的写入和读取。还检查订阅、计时器和异步工作。已完成的请求并不能证明未跟踪的后台工作不会受到进程退役的影响。
演示、预览环境和偶尔访问的工具都是需要调查的候选对象。对于需要保持快速第一响应的旅程,热情的工作人员可能更可取。实际流量、监控探针和唤醒频率决定结果。
比较唤醒服务的访问的睡眠时间、释放的内存和延迟。对于多个应用程序,在得出一台服务器可以托管更多项目之前测量并发峰值。我们的活动既不会增加网站数量,也不会节省费用。