-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Perf drop in latest releases - unstable postgrest-loadtest
results
#2842
Comments
Unfortunately, I don't have that script anymore. |
I've tried to reproduce the issue with According to the report, requests throughput does drop, along with request rate, but not 25% down:
While there is a slowdown, it's not awful lot. Might be a fluke; worst case is the slowdown is amplified by the environment Github actions are running in. I'd suggest we'd try running loadtest in a dedicated VM (in AWS for now) and see if we could reproduce the issue. postgrest-loadtest report
|
On the other hand, the loadtest against the commit before the v11.2.0 reports throughput = 261.92, while the one before the v11.1.0 does 323.83 which results in 20% drop. |
Ran Reviewed loadtest results for handful of commits between v11.1.0 and v11.2.0. Most of the tests have their throughput in 320-350, and while there are some drops to 260s, they do not hold — loadtest against next commit has throughput back in 300s. To me it looks like an irregular fluke so far. postgrest-loadtest-against v11.1.0❯ postgrest-loadtest-against v11.1.0
Running loadtest on "v11.1.0"...
Preparing worktree (detached HEAD 1f13e43a)
postgrest-with-postgresql-15: You can connect with: psql 'postgres:///postgres?host=/run/user/1000/postgrest/postgrest-with-postgresql-15-uj1/socket' -U postgres
postgrest-with-postgresql-15: You can tail the logs with: tail -f /run/user/1000/postgrest/postgrest-with-postgresql-15-uj1/db.log
delaying data to/from postgres by 0ms
Building postgrest (nix)... done.
Starting postgrest... done.
delaying data to/from PostgREST by 0ms
2023/09/12 17:17:00 accept unix /run/user/1000/postgrest/postgrest-with-slow-postgrest-3O6/postgrest.socket: use of closed network connection
2023/09/12 17:17:00 accept unix /run/user/1000/postgrest/postgrest-with-slow-pg-YDd/socket/.s.PGSQL.5432: use of closed network connection
Requests [total, rate, throughput] 41890, 698.08, 634.62
Duration [total, attack, wait] 1m0s, 1m0s, 427.59µs
Latencies [min, mean, 50, 90, 95, 99, max] 74.201µs, 1.431ms, 480.298µs, 1.356ms, 10.445ms, 10.965ms, 19.283ms
Bytes In [total, mean] 42382350, 1011.75
Bytes Out [total, mean] 161211680, 3848.45
Success [ratio] 90.91%
Status Codes [code:count] 200:22850 201:3808 204:11424 400:3808
Error Set:
400 Bad Request
Done running on "v11.1.0".
Running loadtest on HEAD...
postgrest-with-postgresql-15: You can connect with: psql 'postgres:///postgres?host=/run/user/1000/postgrest/postgrest-with-postgresql-15-0iR/socket' -U postgres
postgrest-with-postgresql-15: You can tail the logs with: tail -f /run/user/1000/postgrest/postgrest-with-postgresql-15-0iR/db.log
delaying data to/from postgres by 0ms
Building postgrest (nix)... done.
Starting postgrest... done.
delaying data to/from PostgREST by 0ms
2023/09/12 17:18:04 accept unix /run/user/1000/postgrest/postgrest-with-slow-postgrest-oDJ/postgrest.socket: use of closed network connection
2023/09/12 17:18:05 accept unix /run/user/1000/postgrest/postgrest-with-slow-pg-Nt9/socket/.s.PGSQL.5432: use of closed network connection
Requests [total, rate, throughput] 40614, 676.90, 615.36
Duration [total, attack, wait] 1m0s, 1m0s, 479.307µs
Latencies [min, mean, 50, 90, 95, 99, max] 74.712µs, 1.476ms, 483.312µs, 1.504ms, 10.708ms, 11.614ms, 19.803ms
Bytes In [total, mean] 41841298, 1030.22
Bytes Out [total, mean] 156300820, 3848.45
Success [ratio] 90.91%
Status Codes [code:count] 200:22154 201:3692 204:11076 400:3692
Error Set:
400 Bad Request
Done running on HEAD. |
postgrest-loadtest
results
@develop7 Those are great news! Thanks for reporting!
That would be great. Having a dedicated AWS instance where |
@laurenceisla Just told me that the above is not possible, the github secrets required for the AWS instance to run are not exposed to PRs, only for the |
I'll summarize here (for posterity's sake) our private chat with @steve-chavez from yesterday.
Bottom line is: while there's probably no performance drop against latest release, I'll fix our loadtest CI to make sure there isn't for sure. |
Closing this as it was already clarified there was no noticeable perf loss. |
Problem
On #2523, the loadtest reported
420.02257774518125
throughput.On main, the loadtest reports a
338.6473662241433
throughput.Proposal
We need to check on which commit(s) the regression happened and then find a solution.
@wolfgangwalther I recall you ran the
postgrest-loadtest
on a commit range before. Perhaps you could share the script so I can check? (the script would be useful as one of our nix commands too).The text was updated successfully, but these errors were encountered: