-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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: Update/upsert performanace regression 1.0.4 -> master #17557
Comments
I've reproduced the regression using 1.0.4:
master:
Now to figure out what's going on. |
This is a highly concurrent workload. The problem is likely in the guts of Curious that master is so much slower than 1.0.4, though. |
And by high concurrency, I mean concurrency on a single row. |
I thought that workload that @robert-s-lee produced to demonstrate the I'll make a more accurate reproduction now. |
Bisecting the high-concurrency case. |
The regression seems to have been introduced in 82cbb49. |
Can you try setting |
That cluster setting removes the performance issue. Is that a setting that we can recommend? Is there a more balanced default that we can pick? |
This is the second time this setting is come up. The effect on heavily loaded systems was present, but small. Can you send a PR to change the default to Thanks for tracking this down. |
why does/did |
The setting specifies a minimum interval between WAL syncs and thus adds a minimum latency to write operations when there is no concurrency. In the test @jordanlewis was performing, there were concurrent workers, but they were all hitting the same key so there was no concurrency during syncing. |
The test in #17507 showed that update and upsert performance got significantly slower (from ~30ms to ~60ms) since 1.0.4. Full details are in that issue, but I'm filing this issue to separately track investigation of the performance regression (as opposed to the difference between schemas with and without column families which is the main focus of #17507).
The text was updated successfully, but these errors were encountered: