rsnext/bench/vercel
Jimmy Lai 2c23da077f
misc: fix benchmark script (#44592)
Fixing + doing some maintenance as I was using it for some things.

Changes:
- fixed a bug related to how React is injected
- added a progress tracker for the numbers of requests
- retry on 500
- added a param for crashing the lambda manually (useful for cold boots)
- added a param to skip build, useful if you want to retest the same variation
- don't crash when there's no data to compare

## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see [`contributing.md`](https://github.com/vercel/next.js/blob/canary/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`
- [ ] [e2e](https://github.com/vercel/next.js/blob/canary/contributing/core/testing.md#writing-tests-for-nextjs) 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://github.com/vercel/next.js/blob/canary/contributing.md)

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm build && pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2023-01-05 13:46:41 +00:00
..
benchmark-app misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
.env.dev misc: add benchmarking script for edge rendering (#40716) 2022-09-27 17:57:16 +02:00
.gitignore misc: add benchmarking script for edge rendering (#40716) 2022-09-27 17:57:16 +02:00
bench.js misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
chart.js misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
gen-request.js misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
generate-package-json.js misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
package.json misc: add benchmarking script for edge rendering (#40716) 2022-09-27 17:57:16 +02:00
project-utils.js misc: fix benchmark script (#44592) 2023-01-05 13:46:41 +00:00
README.md misc: add benchmarking script for edge rendering (#40716) 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