rsnext/bench/vercel/README.md

23 lines
897 B
Markdown
Raw Normal View History

misc: add benchmarking script for edge rendering (#40716) This PR adds the benchmarking script I've been using for #40251 to measure the performance improvements that we make to the Edge SSR runtime. This tool: - uploads two version of the benchmarking project to Vercel, one with the latest canary and the one with your current local changes in dist (don't forget to build!) - runs some tests against the published url to measure TTFB - displays a nice chart and table What this doesn't do (yet): - allow you to choose which URL to compare - allow you to change the measured metric - run a battery of differnet test ## Bug - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Errors have a helpful link attached, see `contributing.md` ## Feature - [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR. - [ ] Related issues linked using `fixes #number` - [ ] Integration tests added - [ ] Documentation added - [ ] Telemetry added. In case of a feature if it's used or not. - [ ] Errors have a helpful link attached, see `contributing.md` https://user-images.githubusercontent.com/11064311/191270204-04447e20-5a40-43a9-bcda-b7eaeb3d270a.mov ## Documentation / Examples - [ ] Make sure the linting passes by running `pnpm lint` - [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md) Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2022-09-27 17:57:16 +02:00
# Benchmarking Next.js on production
This script allows you to measure some performance metrics of your local build of Next.js on production by uploading your current build to Vercel with an example app and running some basic benchmarks on it.
## Requirements
- the Vercel CLI
## Setup
Rename the provided `./env.local` file to `./env` and fill in the required `VERCEL_TEST_TOKEN` and `VERCEL_TEST_TEAM` values. You can find and generate those from vercel.com.
Run `pnpm install`, `pnpm bench` and profit.
Note: if you made some changes to Next.js, make sure you compiled them by running at the root of the monorepo either `pnpm dev` or `pnpm build --force`.
## How it works
- with the Vercel CLI, we setup a project
- we `npm pack` the local Next build and add it to the repo
- we upload the repo to Vercel and let it build
- once it builds, we get the deployment url and run some tests