Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: bring back load testing with nixops #148

Merged
merged 1 commit into from
Sep 10, 2024

Conversation

steve-chavez
Copy link
Member

@steve-chavez steve-chavez commented Sep 10, 2024

This is just for manual bench tests for now, to ensure a change doesn't cause a performance regression.

Adds the following nixops commands to reproduce some bench tests:

Note: All of the nixops command need to run on the nix directory (cd nix).

max requests for the nginx server:

nixops ssh -d pg_net client vegeta-bench-max-requests

It's capable of handling ~12k req/s.

reference bench test with the vegeta http client, only using one thread/worker:

nixops ssh -d pg_net client vegeta-bench-max-requests

Vegeta is able to do ~2.5K req/s.

With a pg_net.batch_size=32000, this uses pg_net for the bench test:

nixops ssh -d pg_net client net-bench

pg_net reaches 400 req/s max before request errors are reported. Like Couldn't resolve host name or Couldn't connect to server. Doing 1000 req/s or higher results in a higher percentage of errors.

These need further investigation, for now keeping the batch_size low is necessary for stability.

This is just for manual bench tests for now, to ensure a change doesn't
cause a performance regression.

Adds the following nixops commands to reproduce some bench tests:

Note: All of the nixops command need to run on the nix directory (`cd nix`).

- max requests for the nginx server:

nixops ssh -d pg_net client vegeta-bench-max-requests

It's capable of handling ~12k req/s.

- reference bench test with the vegeta http client, only using one thread/worker:

nixops ssh -d pg_net client vegeta-bench-max-requests

Vegeta is able to do ~2.5K req/s.

- With a pg_net.batch_size=32000, this uses pg_net for the bench test:

nixops ssh -d pg_net client net-bench

pg_net reaches 400 req/s max before request errors are reported. Like
`Couldn't resolve host name` or `Couldn't connect to server`.

These need further investigation, for now keeping the batch_size low is
necessary for stability.
@steve-chavez steve-chavez merged commit 130f839 into supabase:master Sep 10, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants