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

Fixes for CI benchmarks: iteration 2 #352

Merged
merged 6 commits into from
May 11, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,8 +167,7 @@ commands:
- run:
name: Install remote benchmark tool dependencies
command: |
mkdir -p /workspace
TF_EXE_FILE_NAME=/workspace/terraform ./tests/benchmarks/remote/install_deps.sh
VERSION=0.14.8 ./deps/readies/bin/getterraform
- run:
name: Install remote benchmark python dependencies
command: python3 -m pip install -r ./tests/benchmarks/requirements.txt
Expand All @@ -184,7 +183,7 @@ commands:
export EC2_PRIVATE_PEM=$PERFORMANCE_EC2_PRIVATE_PEM

redisbench-admin run-remote \
--terraform_bin_path /workspace/terraform \
--required-module ReJSON \
--module_path << parameters.module_path >> \
--github_actor << parameters.github_actor >> \
--github_repo $CIRCLE_PROJECT_REPONAME \
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ ifneq ($(REMOTE),)
BENCHMARK_ARGS = redisbench-admin run-remote
endif

BENCHMARK_ARGS += --module_path $(realpath $(TARGET))
BENCHMARK_ARGS += --module_path $(realpath $(TARGET)) \
--required-module ReJSON
ifneq ($(BENCHMARK),)
BENCHMARK_ARGS += --test $(BENCHMARK)
endif
Expand Down
2 changes: 1 addition & 1 deletion deps/readies
19 changes: 19 additions & 0 deletions tests/benchmarks/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Context

The automated benchmark definitions included within `tests/benchmarks` folder, provides a framework for evaluating and comparing feature branches and catching regressions prior to letting them into the master branch.

To be able to run local benchmarks you need `redisbench_admin>=0.1.74` [[tool repo for full details](https://github.com/RedisLabsModules/redisbench-admin)] and the benchmark tool specified on each configuration file. You can install `redisbench-admin` via PyPi as any other package.
```
pip3 install redisbench_admin>=0.1.74
```

## Usage

- Local benchmarks: `make benchmark`
- Remote benchmarks: `make benchmark REMOTE=1`


## Included benchmarks

Each benchmark requires a benchmark definition yaml file to present on the current directory. The benchmark spec file is fully explained on the following link: https://github.com/RedisLabsModules/redisbench-admin/tree/master/docs

2 changes: 1 addition & 1 deletion tests/benchmarks/json_arrappend_geojson.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ clientconfig:
- min-tool-version: "6.2.0"
- parameters:
- clients: 16
- requests: 10000
- requests: 1000000
- threads: 2
- pipeline: 1
- command: 'JSON.ARRAPPEND path:sonde:foo .properties.coordinateProperties "{\"type\": \"Feature\", \"geometry\": {\"type\": \"Point\", \"coordinates\": [26.2153, 60.34085, 417.0]}, \"properties\": {\"temp\": 3.6, \"serial\": \"S0730589\", \"humidity\": 64.6, \"vel_h\": 16.0, \"uploader_callsign\": \"Lahti 24h raspberry\", \"time\": 1617220020, \"uploader\": {\"callsign\": \"Lahti 24h raspberry\"}}}"'
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: 0.2
name: "json_set_ResultSet.totalResultsAvailable_1_jsonsl-yahoo2_json"
name: "json_get_ResultSet.totalResultsAvailable_jsonsl-yahoo2_json"
description: "JSON.GET jsonsl-yahoo2 ResultSet.totalResultsAvailable || https://oss.redislabs.com/redisjson/performance/"
remote:
- type: oss-standalone
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: 0.2
name: "json_get_array_of_docs[1]_pass_100_json"
name: "json_get_array_of_docs[1]sclr_pass_100_json"
description: "JSON.GET pass-100 array_of_docs[1] || {Full document: pass-100.json https://oss.redislabs.com/redisjson/performance/"
remote:
- type: oss-standalone
Expand Down
2 changes: 1 addition & 1 deletion tests/benchmarks/json_numincrby_num_1.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: 0.2
name: "json_set_num_0"
name: "json_numincrby_num_1"
description: "JSON.NUMINCRBY num . 1 || https://oss.redislabs.com/redisjson/performance/"
remote:
- type: oss-standalone
Expand Down
2 changes: 1 addition & 1 deletion tests/benchmarks/json_nummultby_num_2.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
version: 0.2
name: "json_set_num_0"
name: "json_nummultby_num_2"
description: "JSON.SET num . 2 || https://oss.redislabs.com/redisjson/performance/"
remote:
- type: oss-standalone
Expand Down
16 changes: 0 additions & 16 deletions tests/benchmarks/remote/install_deps.sh

This file was deleted.

2 changes: 1 addition & 1 deletion tests/benchmarks/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
redisbench_admin>=0.1.63
redisbench_admin>=0.1.74