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

Different CLs used with different drivers #6

Closed
kbr- opened this issue Jun 28, 2021 · 6 comments
Closed

Different CLs used with different drivers #6

kbr- opened this issue Jun 28, 2021 · 6 comments

Comments

@kbr-
Copy link

kbr- commented Jun 28, 2021

I noticed that the default CL setting in gocql is QUORUM while in scylla-rust-driver it's ONE.
Which means that you benchmarked gocql with QUORUM and scylla-rust-driver with ONE (there is no explicit changing of CL in the benchmark code).
Which means that the benchmark results are unfair.

@kbr-
Copy link
Author

kbr- commented Jun 28, 2021

For example I just modified the gocql benchmark to use ONE (as the Rust one does) and I got the following results (on my laptop):
rust:
Benchmark time: 32970 ms
gocql:
Benchmark time: 13459 ms

ran with:

(gocql) go run . -workload selects -dont-prepare -nodes 10.89.19.178 -concurrency 100
(rust) cargo run --release basic -w selects -d -n 10.89.19.178 -c 100

@cvybhu
Copy link
Owner

cvybhu commented Jun 28, 2021

Oops, thanks for the information, this needs to be fixed.

I thought that with replication factor equal to 1 there would be no difference no matter the consistency level.
There is only one replica holding each row and we should only send one request directly to it.

@kbr-
Copy link
Author

kbr- commented Jun 28, 2021

Ah, if you're using RF=1 then it doesn't matter. I guess we can close the issue.

I'm waiting for RF=3, CL=QUORUM benchmark though.

@cvybhu
Copy link
Owner

cvybhu commented Jun 28, 2021

I'm waiting for RF=3, CL=QUORUM benchmark though.

I used RF=1 to minimize the load on scylla and just test how fast the driver can go
At concurrency = 8192 the load was already 100% on all 3 nodes

i'm not sure if having RF=3, CL=QUORUM would measure driver performance better

@kbr-
Copy link
Author

kbr- commented Jun 28, 2021

It measures whether the driver behaves well together with the cluster.
For example, one driver may overload the cluster while the other doesn't, causing the non-overloading driver to perform better overall.
Different RF/CL settings may cause different behaviors.

The RF=3 CL=QUORUM settings is probably the most common one in "real-life".

@cvybhu
Copy link
Owner

cvybhu commented Jun 28, 2021

Ok I opened #7 with this

@cvybhu cvybhu closed this as completed Jun 28, 2021
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

No branches or pull requests

2 participants