Use measurements from a production-mode build. Requests per second alone are not enough: the share that invokes dynamic rendering and the CPU time consumed by those requests determine the modeled compute floor.
Sizing formula
Dynamic requests per second are peak requests multiplied by the dynamic percentage. The CPU floor divides dynamic CPU demand by a 60% utilization target. The result is rounded upward into a common CPU and memory tier.
Measure before entering values
Run next build and the production server on a representative machine. Exercise static assets, cached pages, dynamic routes, Server Actions, image transformations, and slow dependencies. Record process CPU time and memory rather than browser response time alone.
Validate the recommendation
Load test the suggested tier while observing p95 latency, errors, event-loop delay, CPU, resident memory, swap, disk, and dependency pools. Test deployments and instance loss. A safe choice has measured headroom and a documented scaling threshold.