-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Setup Cassandra benchmark env and add CQLMultiQueryBenchmark #3101
Conversation
0afa135
to
fb2f62a
Compare
- uses: actions/setup-python@v2 | ||
with: | ||
python-version: '3.x' | ||
- run: pip install git+https://github.com/li-boxuan/ccm.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried many many times and the CI only worked with my custom changes to ccm
. The upstream PR is here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just interest. Why didn't you use testcontainers for the cql tests?
That's a good question. I guess we could use test containers, but IIUC it does not support multiple Cassandra instances. |
This is a blocker for #2942 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @li-boxuan, thanks for your PR!
ModifiableConfiguration config = GraphDatabaseConfiguration.buildGraphConfiguration(); | ||
config.set(GraphDatabaseConfiguration.STORAGE_BACKEND,"cql"); | ||
config.set(CQLConfigOptions.LOCAL_DATACENTER, "dc1"); | ||
config.set(GraphDatabaseConfiguration.USE_MULTIQUERY, true); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about adding the USE_MULTIQUERY
flag as a @Param
to provide some insights to the performance boost multi query brings?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good idea, but unfortunately, it will take much much longer time (a few hours) for the benchmark to finish. I have tried it manually and (as we would expect) USE_MULTIQUERY = true
makes the queries much much faster.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ouch, I didn't expect the time to be on the scale of hours. In this case, I think it's fine as it is.
janusgraph-benchmark/src/main/java/org/janusgraph/BenchmarkRunner.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Boxuan Li <[email protected]>
fb2f62a
to
1ee27a1
Compare
@farodin91 Do you want to review again? |
Currently, all our benchmarks are using the in-memory backend. This PR sets up the infrastructure for Cassandra-based benchmarks and adds a multi-query benchmark using the CQL backend.
Thank you for contributing to JanusGraph!
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:
master
)?For code changes:
For documentation related changes: