k-NN
k-NN copied to clipboard
[WIP] add single node benchmark script
Description
In #1053, it shows that we can create single-node benchmarking docker application. so when i do benchmarking for different algorithm, i write some docker-compose to do some benchmark.
In os-node, i use volumes to mapping this repo and reinstall k-nn plugins. In os-client, i use volumes to mapping this repo and datasets for testing different yaml.
Issues Resolved
#1053
Check List
- [ ] New functionality includes testing.
- [ ] All tests pass
- [ ] New functionality has been documented.
- [ ] New functionality has javadoc added
- [ ] Commits are signed as per the DCO using --signoff
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check here.
Codecov Report
Merging #1097 (5f09690) into main (cc5cd7e) will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## main #1097 +/- ##
=========================================
Coverage 84.95% 84.95%
Complexity 1184 1184
=========================================
Files 159 159
Lines 4813 4813
Branches 433 433
=========================================
Hits 4089 4089
Misses 528 528
Partials 196 196
This is a really good start. A couple points:
- I would add the files under its own directory in benchmark. Something like
benchmark/docker
- I was thinking that it would be good to have a custom dockerfile for the node so that as part of the multistage build, the plugin could first be built and then the machine setup.
- Adding README in the file would be good
In the future it would be good to have some container telemetry over the course of the test as well (memory usage, cpu usage, etc.). But this can be taken for another review!
Closing for now. I started a project over here (https://github.com/jmazanec15/opensearch-knn-single-node-experiments) we can build on top of and add functionality