nix: add new loadtest for errors#4576
Conversation
ac46d8f to
4940996
Compare
4940996 to
a001108
Compare
|
So far this proves that the rate of error processing is much lower than normal successful requests. OOMs of #4462 are not reproduced, this looks only dependent of the number of tables, not the number of continued requests. |
|
Later on we can add more types of errors for this load test: https://docs.postgrest.org/en/v14/references/errors.html#postgrest-error-codes. We should ensure error processing stays fast for every case. |
c92eb61 to
9cbe208
Compare
|
This CI job proves there's considerable memory consumed when the table/function count is 30K. Unfortunately that number is causing a CI coverage failure which I don't understand. So I'll leave the table/function count at 950. |
And looks like this coverage failure persist even after reducing the table count. The error reported on CI doesn't reveal anything and locally it cannot be reproduced. |
9cbe208 to
aa4199f
Compare
aa4199f to
8d5e46a
Compare
4005db4 to
4c6c7be
Compare
Also included it in CI.
4c6c7be to
895518a
Compare
|
Added 20K tables now and left adding many functions as TODO (this was somehow making the loadtest slow). This now proves the memory consumption is high for the fuzzy search, I've also added a |
| if [[ -n "$_arg_sleep" ]]; then | ||
| sleep "$_arg_sleep" | ||
| fi |
There was a problem hiding this comment.
Looks like this argument has a default of 0, so the condition will always be true. Should work to just call sleep all the time - with 0 as argument if the default is used.
There was a problem hiding this comment.
Fixed in 76e0e1f, just removed the default instead.
Adds a new loadtest that includes only requests that produces errors (misspelled relations, misspelled functions, permission errors).
Tries to repro #4462