redis-benchmarks-specification 0.1.214__py3-none-any.whl → 0.1.216__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of redis-benchmarks-specification might be problematic. Click here for more details.
- redis_benchmarks_specification/__builder__/builder.py +2 -0
- redis_benchmarks_specification/__cli__/cli.py +17 -0
- redis_benchmarks_specification/__common__/spec.py +52 -0
- redis_benchmarks_specification/__compare__/args.py +6 -0
- redis_benchmarks_specification/__compare__/compare.py +36 -2
- redis_benchmarks_specification/__self_contained_coordinator__/docker.py +6 -2
- redis_benchmarks_specification/__self_contained_coordinator__/runners.py +1 -1
- redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py +74 -36
- redis_benchmarks_specification/setups/topologies/topologies.yml +65 -0
- redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml +36 -0
- {redis_benchmarks_specification-0.1.214.dist-info → redis_benchmarks_specification-0.1.216.dist-info}/METADATA +1 -1
- {redis_benchmarks_specification-0.1.214.dist-info → redis_benchmarks_specification-0.1.216.dist-info}/RECORD +15 -14
- {redis_benchmarks_specification-0.1.214.dist-info → redis_benchmarks_specification-0.1.216.dist-info}/LICENSE +0 -0
- {redis_benchmarks_specification-0.1.214.dist-info → redis_benchmarks_specification-0.1.216.dist-info}/WHEEL +0 -0
- {redis_benchmarks_specification-0.1.214.dist-info → redis_benchmarks_specification-0.1.216.dist-info}/entry_points.txt +0 -0
|
@@ -87,6 +87,23 @@ def trigger_tests_dockerhub_cli_command_logic(args, project_name, project_versio
|
|
|
87
87
|
args.build_arch,
|
|
88
88
|
testDetails,
|
|
89
89
|
"n/a",
|
|
90
|
+
[],
|
|
91
|
+
None,
|
|
92
|
+
None,
|
|
93
|
+
None,
|
|
94
|
+
None,
|
|
95
|
+
None,
|
|
96
|
+
None,
|
|
97
|
+
None,
|
|
98
|
+
None,
|
|
99
|
+
None,
|
|
100
|
+
None,
|
|
101
|
+
None,
|
|
102
|
+
None,
|
|
103
|
+
".*",
|
|
104
|
+
0,
|
|
105
|
+
10000,
|
|
106
|
+
args.tests_regexp,
|
|
90
107
|
)
|
|
91
108
|
build_stream_fields["github_repo"] = args.gh_repo
|
|
92
109
|
build_stream_fields["github_org"] = args.gh_org
|
|
@@ -1,4 +1,56 @@
|
|
|
1
1
|
import math
|
|
2
|
+
import logging
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def extract_redis_dbconfig_parameters(benchmark_config, dbconfig_keyname):
|
|
6
|
+
redis_configuration_parameters = {}
|
|
7
|
+
modules_configuration_parameters_map = {}
|
|
8
|
+
dataset_load_timeout_secs = 120
|
|
9
|
+
dataset_name = None
|
|
10
|
+
dbconfig_present = False
|
|
11
|
+
if dbconfig_keyname in benchmark_config:
|
|
12
|
+
dbconfig_present = True
|
|
13
|
+
if type(benchmark_config[dbconfig_keyname]) == list:
|
|
14
|
+
for k in benchmark_config[dbconfig_keyname]:
|
|
15
|
+
if "configuration-parameters" in k:
|
|
16
|
+
cp = k["configuration-parameters"]
|
|
17
|
+
for item in cp:
|
|
18
|
+
for k, v in item.items():
|
|
19
|
+
redis_configuration_parameters[k] = v
|
|
20
|
+
if "dataset_load_timeout_secs" in k:
|
|
21
|
+
dataset_load_timeout_secs = k["dataset_load_timeout_secs"]
|
|
22
|
+
if "dataset_name" in k:
|
|
23
|
+
dataset_name = k["dataset_name"]
|
|
24
|
+
if type(benchmark_config[dbconfig_keyname]) == dict:
|
|
25
|
+
if "configuration-parameters" in benchmark_config[dbconfig_keyname]:
|
|
26
|
+
cp = benchmark_config[dbconfig_keyname]["configuration-parameters"]
|
|
27
|
+
for k, v in cp.items():
|
|
28
|
+
redis_configuration_parameters[k] = v
|
|
29
|
+
if "dataset_load_timeout_secs" in benchmark_config[dbconfig_keyname]:
|
|
30
|
+
dataset_load_timeout_secs = benchmark_config[dbconfig_keyname][
|
|
31
|
+
"dataset_load_timeout_secs"
|
|
32
|
+
]
|
|
33
|
+
if "dataset_name" in benchmark_config[dbconfig_keyname]:
|
|
34
|
+
dataset_name = benchmark_config[dbconfig_keyname]["dataset_name"]
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
dbconfig_present,
|
|
38
|
+
dataset_name,
|
|
39
|
+
redis_configuration_parameters,
|
|
40
|
+
dataset_load_timeout_secs,
|
|
41
|
+
modules_configuration_parameters_map,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def extract_redis_configuration_from_topology(topologies_map, topology_spec_name):
|
|
46
|
+
redis_arguments = ""
|
|
47
|
+
topology_spec = topologies_map[topology_spec_name]
|
|
48
|
+
if "redis_arguments" in topology_spec:
|
|
49
|
+
redis_arguments = topology_spec["redis_arguments"]
|
|
50
|
+
logging.info(
|
|
51
|
+
f"extracted redis_arguments: {redis_arguments} from topology: {topology_spec_name}"
|
|
52
|
+
)
|
|
53
|
+
return redis_arguments
|
|
2
54
|
|
|
3
55
|
|
|
4
56
|
def extract_client_cpu_limit(benchmark_config):
|
|
@@ -92,8 +92,14 @@ def create_compare_arguments(parser):
|
|
|
92
92
|
)
|
|
93
93
|
parser.add_argument("--baseline-branch", type=str, default=None, required=False)
|
|
94
94
|
parser.add_argument("--baseline-tag", type=str, default=None, required=False)
|
|
95
|
+
parser.add_argument(
|
|
96
|
+
"--baseline-target-version", type=str, default=None, required=False
|
|
97
|
+
)
|
|
95
98
|
parser.add_argument("--comparison-branch", type=str, default=None, required=False)
|
|
96
99
|
parser.add_argument("--comparison-tag", type=str, default=None, required=False)
|
|
100
|
+
parser.add_argument(
|
|
101
|
+
"--comparison-target-version", type=str, default=None, required=False
|
|
102
|
+
)
|
|
97
103
|
parser.add_argument("--print-regressions-only", type=bool, default=False)
|
|
98
104
|
parser.add_argument("--print-improvements-only", type=bool, default=False)
|
|
99
105
|
parser.add_argument("--skip-unstable", type=bool, default=False)
|
|
@@ -248,6 +248,8 @@ def compare_command_logic(args, project_name, project_version):
|
|
|
248
248
|
testname_regex = args.testname_regex
|
|
249
249
|
auto_approve = args.auto_approve
|
|
250
250
|
running_platform = args.running_platform
|
|
251
|
+
baseline_target_version = args.baseline_target_version
|
|
252
|
+
comparison_target_version = args.comparison_target_version
|
|
251
253
|
|
|
252
254
|
if running_platform is not None:
|
|
253
255
|
logging.info(
|
|
@@ -306,6 +308,8 @@ def compare_command_logic(args, project_name, project_version):
|
|
|
306
308
|
to_ts_ms,
|
|
307
309
|
use_metric_context_path,
|
|
308
310
|
running_platform,
|
|
311
|
+
baseline_target_version,
|
|
312
|
+
comparison_target_version,
|
|
309
313
|
)
|
|
310
314
|
prepare_regression_comment(
|
|
311
315
|
auto_approve,
|
|
@@ -529,6 +533,8 @@ def compute_regression_table(
|
|
|
529
533
|
to_ts_ms=None,
|
|
530
534
|
use_metric_context_path=None,
|
|
531
535
|
running_platform=None,
|
|
536
|
+
baseline_target_version=None,
|
|
537
|
+
comparison_target_version=None,
|
|
532
538
|
):
|
|
533
539
|
START_TIME_NOW_UTC, _, _ = get_start_time_vars()
|
|
534
540
|
START_TIME_LAST_MONTH_UTC = START_TIME_NOW_UTC - datetime.timedelta(days=31)
|
|
@@ -552,7 +558,11 @@ def compute_regression_table(
|
|
|
552
558
|
comparison_branch,
|
|
553
559
|
baseline_tag,
|
|
554
560
|
comparison_tag,
|
|
561
|
+
baseline_target_version,
|
|
562
|
+
comparison_target_version,
|
|
555
563
|
)
|
|
564
|
+
logging.info(f"Using baseline filter {by_str_baseline}={baseline_str}")
|
|
565
|
+
logging.info(f"Using comparison filter {by_str_comparison}={comparison_str}")
|
|
556
566
|
(
|
|
557
567
|
prefix,
|
|
558
568
|
testcases_setname,
|
|
@@ -712,6 +722,8 @@ def get_by_strings(
|
|
|
712
722
|
comparison_branch,
|
|
713
723
|
baseline_tag,
|
|
714
724
|
comparison_tag,
|
|
725
|
+
baseline_target_version=None,
|
|
726
|
+
comparison_target_version=None,
|
|
715
727
|
):
|
|
716
728
|
baseline_covered = False
|
|
717
729
|
comparison_covered = False
|
|
@@ -738,6 +750,16 @@ def get_by_strings(
|
|
|
738
750
|
by_str_baseline = "version"
|
|
739
751
|
baseline_str = baseline_tag
|
|
740
752
|
|
|
753
|
+
if baseline_target_version is not None:
|
|
754
|
+
if comparison_covered:
|
|
755
|
+
logging.error(
|
|
756
|
+
"--baseline-branch, --baseline-tag and --baseline-target-version are mutually exclusive. Pick one..."
|
|
757
|
+
)
|
|
758
|
+
exit(1)
|
|
759
|
+
baseline_covered = True
|
|
760
|
+
by_str_baseline = "target+version"
|
|
761
|
+
baseline_str = baseline_target_version
|
|
762
|
+
|
|
741
763
|
if comparison_tag is not None:
|
|
742
764
|
# check if we had already covered comparison
|
|
743
765
|
if comparison_covered:
|
|
@@ -748,16 +770,27 @@ def get_by_strings(
|
|
|
748
770
|
comparison_covered = True
|
|
749
771
|
by_str_comparison = "version"
|
|
750
772
|
comparison_str = comparison_tag
|
|
773
|
+
if comparison_target_version is not None:
|
|
774
|
+
# check if we had already covered comparison
|
|
775
|
+
if comparison_covered:
|
|
776
|
+
logging.error(
|
|
777
|
+
"--comparison-branch, --comparison-tag, and --comparison-target-table are mutually exclusive. Pick one..."
|
|
778
|
+
)
|
|
779
|
+
exit(1)
|
|
780
|
+
comparison_covered = True
|
|
781
|
+
by_str_comparison = "target+version"
|
|
782
|
+
comparison_str = comparison_target_version
|
|
751
783
|
|
|
752
784
|
if baseline_covered is False:
|
|
753
785
|
logging.error(
|
|
754
|
-
"You need to provider either "
|
|
786
|
+
"You need to provider either "
|
|
787
|
+
+ "( --baseline-branch, --baseline-tag, or --baseline-target-version ) "
|
|
755
788
|
)
|
|
756
789
|
exit(1)
|
|
757
790
|
if comparison_covered is False:
|
|
758
791
|
logging.error(
|
|
759
792
|
"You need to provider either "
|
|
760
|
-
+ "( --comparison-branch or --comparison-
|
|
793
|
+
+ "( --comparison-branch, --comparison-tag, or --comparison-target-version ) "
|
|
761
794
|
)
|
|
762
795
|
exit(1)
|
|
763
796
|
return baseline_str, by_str_baseline, comparison_str, by_str_comparison
|
|
@@ -822,6 +855,7 @@ def from_rts_to_regression_table(
|
|
|
822
855
|
filters_comparison = [
|
|
823
856
|
"{}={}".format(by_str_comparison, comparison_str),
|
|
824
857
|
"metric={}".format(metric_name),
|
|
858
|
+
"hash==",
|
|
825
859
|
"{}={}".format(test_filter, test_name),
|
|
826
860
|
"deployment_name={}".format(comparison_deployment_name),
|
|
827
861
|
"triggering_env={}".format(tf_triggering_env),
|
|
@@ -8,7 +8,7 @@ from redis_benchmarks_specification.__self_contained_coordinator__.cpuset import
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
def generate_standalone_redis_server_args(
|
|
11
|
-
binary, port, dbdir, configuration_parameters=None
|
|
11
|
+
binary, port, dbdir, configuration_parameters=None, redis_arguments=""
|
|
12
12
|
):
|
|
13
13
|
added_params = ["port", "protected-mode", "dir"]
|
|
14
14
|
# start redis-server
|
|
@@ -20,7 +20,7 @@ def generate_standalone_redis_server_args(
|
|
|
20
20
|
"{}".format(port),
|
|
21
21
|
]
|
|
22
22
|
if dbdir != "":
|
|
23
|
-
command.extend(["--
|
|
23
|
+
command.extend(["--dir", dbdir])
|
|
24
24
|
if configuration_parameters is not None:
|
|
25
25
|
for parameter, parameter_value in configuration_parameters.items():
|
|
26
26
|
if parameter not in added_params:
|
|
@@ -30,6 +30,10 @@ def generate_standalone_redis_server_args(
|
|
|
30
30
|
parameter_value,
|
|
31
31
|
]
|
|
32
32
|
)
|
|
33
|
+
if redis_arguments != "":
|
|
34
|
+
redis_arguments_arr = redis_arguments.split(" ")
|
|
35
|
+
logging.info(f"adding redis arguments {redis_arguments_arr}")
|
|
36
|
+
command.extend(redis_arguments_arr)
|
|
33
37
|
return command
|
|
34
38
|
|
|
35
39
|
|
|
@@ -32,7 +32,6 @@ from redisbench_admin.run.redistimeseries import (
|
|
|
32
32
|
from redisbench_admin.run.run import calculate_client_tool_duration_and_check
|
|
33
33
|
from redisbench_admin.utils.benchmark_config import (
|
|
34
34
|
get_final_benchmark_config,
|
|
35
|
-
extract_redis_dbconfig_parameters,
|
|
36
35
|
)
|
|
37
36
|
from redisbench_admin.utils.local import get_local_run_full_filename
|
|
38
37
|
from redisbench_admin.utils.results import post_process_benchmark_results
|
|
@@ -47,6 +46,7 @@ from redis_benchmarks_specification.__common__.spec import (
|
|
|
47
46
|
extract_client_cpu_limit,
|
|
48
47
|
extract_client_tool,
|
|
49
48
|
extract_client_container_image,
|
|
49
|
+
extract_redis_dbconfig_parameters,
|
|
50
50
|
)
|
|
51
51
|
from redis_benchmarks_specification.__self_contained_coordinator__.artifacts import (
|
|
52
52
|
restore_build_artifacts_from_test_details,
|
|
@@ -80,7 +80,6 @@ from redisbench_admin.run.grafana import generate_artifacts_table_grafana_redis
|
|
|
80
80
|
from redisbench_admin.run.run import calculate_client_tool_duration_and_check
|
|
81
81
|
from redisbench_admin.utils.benchmark_config import (
|
|
82
82
|
get_final_benchmark_config,
|
|
83
|
-
extract_redis_dbconfig_parameters,
|
|
84
83
|
get_defaults,
|
|
85
84
|
)
|
|
86
85
|
from redisbench_admin.utils.local import get_local_run_full_filename
|
|
@@ -95,6 +94,8 @@ from redis_benchmarks_specification.__common__.spec import (
|
|
|
95
94
|
extract_client_cpu_limit,
|
|
96
95
|
extract_client_tool,
|
|
97
96
|
extract_client_container_image,
|
|
97
|
+
extract_redis_dbconfig_parameters,
|
|
98
|
+
extract_redis_configuration_from_topology,
|
|
98
99
|
)
|
|
99
100
|
from redis_benchmarks_specification.__self_contained_coordinator__.artifacts import (
|
|
100
101
|
restore_build_artifacts_from_test_details,
|
|
@@ -756,6 +757,14 @@ def process_self_contained_coordinator_stream(
|
|
|
756
757
|
)
|
|
757
758
|
)
|
|
758
759
|
for topology_spec_name in benchmark_config["redis-topologies"]:
|
|
760
|
+
setup_name = topology_spec_name
|
|
761
|
+
setup_type = "oss-standalone"
|
|
762
|
+
if topology_spec_name in topologies_map:
|
|
763
|
+
topology_spec = topologies_map[topology_spec_name]
|
|
764
|
+
setup_type = topology_spec["type"]
|
|
765
|
+
logging.info(
|
|
766
|
+
f"Running topology named {topology_spec_name} of type {setup_type}"
|
|
767
|
+
)
|
|
759
768
|
test_result = False
|
|
760
769
|
redis_container = None
|
|
761
770
|
try:
|
|
@@ -763,6 +772,11 @@ def process_self_contained_coordinator_stream(
|
|
|
763
772
|
ceil_db_cpu_limit = extract_db_cpu_limit(
|
|
764
773
|
topologies_map, topology_spec_name
|
|
765
774
|
)
|
|
775
|
+
redis_arguments = (
|
|
776
|
+
extract_redis_configuration_from_topology(
|
|
777
|
+
topologies_map, topology_spec_name
|
|
778
|
+
)
|
|
779
|
+
)
|
|
766
780
|
temporary_dir = tempfile.mkdtemp(dir=home)
|
|
767
781
|
temporary_dir_client = tempfile.mkdtemp(dir=home)
|
|
768
782
|
logging.info(
|
|
@@ -776,8 +790,6 @@ def process_self_contained_coordinator_stream(
|
|
|
776
790
|
)
|
|
777
791
|
)
|
|
778
792
|
|
|
779
|
-
setup_name = "oss-standalone"
|
|
780
|
-
setup_type = "oss-standalone"
|
|
781
793
|
tf_triggering_env = "ci"
|
|
782
794
|
github_actor = "{}-{}".format(
|
|
783
795
|
tf_triggering_env, running_platform
|
|
@@ -814,44 +826,22 @@ def process_self_contained_coordinator_stream(
|
|
|
814
826
|
redis_proc_start_port,
|
|
815
827
|
mnt_point,
|
|
816
828
|
redis_configuration_parameters,
|
|
829
|
+
redis_arguments,
|
|
817
830
|
)
|
|
818
831
|
command_str = " ".join(command)
|
|
819
832
|
db_cpuset_cpus, current_cpu_pos = generate_cpuset_cpus(
|
|
820
833
|
ceil_db_cpu_limit, current_cpu_pos
|
|
821
834
|
)
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
volumes = {
|
|
831
|
-
temporary_dir: {
|
|
832
|
-
"bind": mnt_point,
|
|
833
|
-
"mode": "rw",
|
|
834
|
-
},
|
|
835
|
-
}
|
|
836
|
-
working_dir = mnt_point
|
|
837
|
-
redis_container = docker_client.containers.run(
|
|
838
|
-
image=run_image,
|
|
839
|
-
volumes=volumes,
|
|
840
|
-
auto_remove=True,
|
|
841
|
-
privileged=True,
|
|
842
|
-
working_dir=mnt_point,
|
|
843
|
-
command=command_str,
|
|
844
|
-
network_mode="host",
|
|
845
|
-
detach=True,
|
|
846
|
-
cpuset_cpus=db_cpuset_cpus,
|
|
847
|
-
pid_mode="host",
|
|
848
|
-
publish_all_ports=True,
|
|
835
|
+
redis_container = start_redis_container(
|
|
836
|
+
command_str,
|
|
837
|
+
db_cpuset_cpus,
|
|
838
|
+
docker_client,
|
|
839
|
+
mnt_point,
|
|
840
|
+
redis_containers,
|
|
841
|
+
run_image,
|
|
842
|
+
temporary_dir,
|
|
849
843
|
)
|
|
850
844
|
|
|
851
|
-
time.sleep(5)
|
|
852
|
-
|
|
853
|
-
redis_containers.append(redis_container)
|
|
854
|
-
|
|
855
845
|
r = redis.StrictRedis(port=redis_proc_start_port)
|
|
856
846
|
r.ping()
|
|
857
847
|
redis_conns = [r]
|
|
@@ -926,7 +916,7 @@ def process_self_contained_coordinator_stream(
|
|
|
926
916
|
start_time_str,
|
|
927
917
|
git_hash,
|
|
928
918
|
test_name,
|
|
929
|
-
|
|
919
|
+
setup_name,
|
|
930
920
|
)
|
|
931
921
|
)
|
|
932
922
|
logging.info(
|
|
@@ -1238,9 +1228,10 @@ def process_self_contained_coordinator_stream(
|
|
|
1238
1228
|
stdout=True, stderr=True
|
|
1239
1229
|
)
|
|
1240
1230
|
)
|
|
1231
|
+
redis_container.remove()
|
|
1241
1232
|
except docker.errors.NotFound:
|
|
1242
1233
|
logging.info(
|
|
1243
|
-
"When trying to
|
|
1234
|
+
"When trying to fetch logs from DB container with id {} and image {} it was already stopped".format(
|
|
1244
1235
|
redis_container.id,
|
|
1245
1236
|
redis_container.image,
|
|
1246
1237
|
)
|
|
@@ -1256,6 +1247,7 @@ def process_self_contained_coordinator_stream(
|
|
|
1256
1247
|
for redis_container in redis_containers:
|
|
1257
1248
|
try:
|
|
1258
1249
|
redis_container.stop()
|
|
1250
|
+
redis_container.remove()
|
|
1259
1251
|
except docker.errors.NotFound:
|
|
1260
1252
|
logging.info(
|
|
1261
1253
|
"When trying to stop DB container with id {} and image {} it was already stopped".format(
|
|
@@ -1269,6 +1261,7 @@ def process_self_contained_coordinator_stream(
|
|
|
1269
1261
|
if type(redis_container) == Container:
|
|
1270
1262
|
try:
|
|
1271
1263
|
redis_container.stop()
|
|
1264
|
+
redis_container.remove()
|
|
1272
1265
|
except docker.errors.NotFound:
|
|
1273
1266
|
logging.info(
|
|
1274
1267
|
"When trying to stop Client container with id {} and image {} it was already stopped".format(
|
|
@@ -1282,6 +1275,7 @@ def process_self_contained_coordinator_stream(
|
|
|
1282
1275
|
temporary_dir, temporary_dir_client
|
|
1283
1276
|
)
|
|
1284
1277
|
)
|
|
1278
|
+
|
|
1285
1279
|
shutil.rmtree(temporary_dir, ignore_errors=True)
|
|
1286
1280
|
shutil.rmtree(temporary_dir_client, ignore_errors=True)
|
|
1287
1281
|
|
|
@@ -1462,6 +1456,50 @@ def process_self_contained_coordinator_stream(
|
|
|
1462
1456
|
return stream_id, overall_result, total_test_suite_runs
|
|
1463
1457
|
|
|
1464
1458
|
|
|
1459
|
+
def start_redis_container(
|
|
1460
|
+
command_str,
|
|
1461
|
+
db_cpuset_cpus,
|
|
1462
|
+
docker_client,
|
|
1463
|
+
mnt_point,
|
|
1464
|
+
redis_containers,
|
|
1465
|
+
run_image,
|
|
1466
|
+
temporary_dir,
|
|
1467
|
+
auto_remove=False,
|
|
1468
|
+
):
|
|
1469
|
+
logging.info(
|
|
1470
|
+
"Running redis-server on docker image {} (cpuset={}) with the following args: {}".format(
|
|
1471
|
+
run_image, db_cpuset_cpus, command_str
|
|
1472
|
+
)
|
|
1473
|
+
)
|
|
1474
|
+
volumes = {}
|
|
1475
|
+
working_dir = "/"
|
|
1476
|
+
if mnt_point != "":
|
|
1477
|
+
volumes = {
|
|
1478
|
+
temporary_dir: {
|
|
1479
|
+
"bind": mnt_point,
|
|
1480
|
+
"mode": "rw",
|
|
1481
|
+
},
|
|
1482
|
+
}
|
|
1483
|
+
logging.info(f"setting volume as follow: {volumes}. working_dir={mnt_point}")
|
|
1484
|
+
working_dir = mnt_point
|
|
1485
|
+
redis_container = docker_client.containers.run(
|
|
1486
|
+
image=run_image,
|
|
1487
|
+
volumes=volumes,
|
|
1488
|
+
auto_remove=auto_remove,
|
|
1489
|
+
privileged=True,
|
|
1490
|
+
working_dir=mnt_point,
|
|
1491
|
+
command=command_str,
|
|
1492
|
+
network_mode="host",
|
|
1493
|
+
detach=True,
|
|
1494
|
+
cpuset_cpus=db_cpuset_cpus,
|
|
1495
|
+
pid_mode="host",
|
|
1496
|
+
publish_all_ports=True,
|
|
1497
|
+
)
|
|
1498
|
+
time.sleep(5)
|
|
1499
|
+
redis_containers.append(redis_container)
|
|
1500
|
+
return redis_container
|
|
1501
|
+
|
|
1502
|
+
|
|
1465
1503
|
def filter_test_files(
|
|
1466
1504
|
defaults_filename,
|
|
1467
1505
|
priority_lower_limit,
|
|
@@ -10,6 +10,71 @@ spec:
|
|
|
10
10
|
cpus: "1"
|
|
11
11
|
memory: "10g"
|
|
12
12
|
|
|
13
|
+
- name: oss-standalone-02-io-threads
|
|
14
|
+
type: oss-standalone
|
|
15
|
+
redis_topology:
|
|
16
|
+
primaries: 1
|
|
17
|
+
replicas: 0
|
|
18
|
+
redis_arguments: --io-threads 2 --io-threads-do-reads yes
|
|
19
|
+
resources:
|
|
20
|
+
requests:
|
|
21
|
+
cpus: "3"
|
|
22
|
+
memory: "10g"
|
|
23
|
+
|
|
24
|
+
- name: oss-standalone-04-io-threads
|
|
25
|
+
type: oss-standalone
|
|
26
|
+
redis_topology:
|
|
27
|
+
primaries: 1
|
|
28
|
+
replicas: 0
|
|
29
|
+
redis_arguments: --io-threads 4 --io-threads-do-reads yes
|
|
30
|
+
resources:
|
|
31
|
+
requests:
|
|
32
|
+
cpus: "5"
|
|
33
|
+
memory: "10g"
|
|
34
|
+
|
|
35
|
+
- name: oss-standalone-08-io-threads
|
|
36
|
+
type: oss-standalone
|
|
37
|
+
redis_topology:
|
|
38
|
+
primaries: 1
|
|
39
|
+
replicas: 0
|
|
40
|
+
redis_arguments: --io-threads 8 --io-threads-do-reads yes
|
|
41
|
+
resources:
|
|
42
|
+
requests:
|
|
43
|
+
cpus: "9"
|
|
44
|
+
memory: "10g"
|
|
45
|
+
|
|
46
|
+
- name: oss-standalone-16-io-threads
|
|
47
|
+
type: oss-standalone
|
|
48
|
+
redis_topology:
|
|
49
|
+
primaries: 1
|
|
50
|
+
replicas: 0
|
|
51
|
+
redis_arguments: --io-threads 16 --io-threads-do-reads yes
|
|
52
|
+
resources:
|
|
53
|
+
requests:
|
|
54
|
+
cpus: "17"
|
|
55
|
+
memory: "10g"
|
|
56
|
+
|
|
57
|
+
- name: oss-standalone-32-io-threads
|
|
58
|
+
type: oss-standalone
|
|
59
|
+
redis_topology:
|
|
60
|
+
primaries: 1
|
|
61
|
+
replicas: 0
|
|
62
|
+
redis_arguments: --io-threads 32 --io-threads-do-reads yes
|
|
63
|
+
resources:
|
|
64
|
+
requests:
|
|
65
|
+
cpus: "33"
|
|
66
|
+
memory: "10g"
|
|
67
|
+
|
|
68
|
+
- name: oss-standalone-64-io-threads
|
|
69
|
+
type: oss-standalone
|
|
70
|
+
redis_topology:
|
|
71
|
+
primaries: 1
|
|
72
|
+
replicas: 0
|
|
73
|
+
redis_arguments: --io-threads 64 --io-threads-do-reads yes
|
|
74
|
+
resources:
|
|
75
|
+
requests:
|
|
76
|
+
cpus: "65"
|
|
77
|
+
memory: "10g"
|
|
13
78
|
- name: oss-standalone-1replica
|
|
14
79
|
type: oss-standalone
|
|
15
80
|
redis_topology:
|
redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
version: 0.4
|
|
2
|
+
name: memtier_benchmark-3Mkeys-load-string-with-512B-values
|
|
3
|
+
description: Runs memtier_benchmark, for a keyspace length of 3M keys loading STRINGs in which the value has a data size of 512 Bytes, with 650 clients running sequential SET commands.
|
|
4
|
+
dbconfig:
|
|
5
|
+
configuration-parameters:
|
|
6
|
+
save: '""'
|
|
7
|
+
check:
|
|
8
|
+
keyspacelen: 0
|
|
9
|
+
resources:
|
|
10
|
+
requests:
|
|
11
|
+
memory: 3g
|
|
12
|
+
tested-commands:
|
|
13
|
+
- set
|
|
14
|
+
redis-topologies:
|
|
15
|
+
- oss-standalone
|
|
16
|
+
- oss-standalone-02-io-threads
|
|
17
|
+
- oss-standalone-04-io-threads
|
|
18
|
+
- oss-standalone-08-io-threads
|
|
19
|
+
- oss-standalone-16-io-threads
|
|
20
|
+
- oss-standalone-32-io-threads
|
|
21
|
+
- oss-standalone-64-io-threads
|
|
22
|
+
build-variants:
|
|
23
|
+
- gcc:8.5.0-amd64-debian-buster-default
|
|
24
|
+
- dockerhub
|
|
25
|
+
clientconfig:
|
|
26
|
+
run_image: redislabs/memtier_benchmark:edge
|
|
27
|
+
tool: memtier_benchmark
|
|
28
|
+
arguments: '"--data-size" "512" --ratio 1:0 --key-pattern P:P --key-minimum=1 --key-maximum 3000000 --test-time 180 -c 50 -t 13 --hide-histogram'
|
|
29
|
+
resources:
|
|
30
|
+
requests:
|
|
31
|
+
cpus: '13'
|
|
32
|
+
memory: 2g
|
|
33
|
+
|
|
34
|
+
tested-groups:
|
|
35
|
+
- string
|
|
36
|
+
priority: 17
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: redis-benchmarks-specification
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.216
|
|
4
4
|
Summary: The Redis benchmarks specification describes the cross-language/tools requirements and expectations to foster performance and observability standards around redis related technologies. Members from both industry and academia, including organizations and individuals are encouraged to contribute.
|
|
5
5
|
Author: filipecosta90
|
|
6
6
|
Author-email: filipecosta.90@gmail.com
|
|
@@ -4,11 +4,11 @@ redis_benchmarks_specification/__api__/api.py,sha256=k_CMICtMm1z8jY3hByaL0hIr_5v
|
|
|
4
4
|
redis_benchmarks_specification/__api__/app.py,sha256=JzQm84DjIVdfLbDO423BJbrds6gFzMbA0syRkHE_aUU,7063
|
|
5
5
|
redis_benchmarks_specification/__builder__/Readme.md,sha256=O6MV_J3OSgzW-ir2TbukP8Vhkm_LOzQJJndG1Cykqic,111
|
|
6
6
|
redis_benchmarks_specification/__builder__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
7
|
-
redis_benchmarks_specification/__builder__/builder.py,sha256=
|
|
7
|
+
redis_benchmarks_specification/__builder__/builder.py,sha256=OmsMz4lO22DWGC7D1q1cfsyL3SZZC_I6tuLZL3ubq8A,26177
|
|
8
8
|
redis_benchmarks_specification/__builder__/schema.py,sha256=1wcmyVJBcWrBvK58pghN9NCoWLCO3BzPsmdKWYfkVog,584
|
|
9
9
|
redis_benchmarks_specification/__cli__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
10
10
|
redis_benchmarks_specification/__cli__/args.py,sha256=ggjDVunIe8LbJ8QGg6Td2ZRgD8qUjX_xCOf4cP780k8,6728
|
|
11
|
-
redis_benchmarks_specification/__cli__/cli.py,sha256=
|
|
11
|
+
redis_benchmarks_specification/__cli__/cli.py,sha256=vy-WWRGOFIUGfL0Jz5r2y77rGuR5OsYfku0kUQQL0T4,20352
|
|
12
12
|
redis_benchmarks_specification/__cli__/stats.py,sha256=wahzZRbpfokv8dQU8O4BH5JFrOZk-l6k8LWdKfue9_0,20204
|
|
13
13
|
redis_benchmarks_specification/__common__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
redis_benchmarks_specification/__common__/builder_schema.py,sha256=oU6zFrBsmPRgCr2c1zf7bM0o9bCyuqUpooJo0-nIHrE,5747
|
|
@@ -16,11 +16,11 @@ redis_benchmarks_specification/__common__/env.py,sha256=kvJ8Ll-fvI_Tc0vynrzUEr22
|
|
|
16
16
|
redis_benchmarks_specification/__common__/github.py,sha256=QEHG05DgvJXkJPMMprLa7E1fwn3PrizfR-_N3_Ff93Q,10398
|
|
17
17
|
redis_benchmarks_specification/__common__/package.py,sha256=4uVt1BAZ999LV2rZkq--Tk6otAVIf9YR3g3KGeUpiW4,834
|
|
18
18
|
redis_benchmarks_specification/__common__/runner.py,sha256=24OIOLdnFYAzJ2mU_pbm4nc8wDJhaP-3tEIpTuDGpYs,6827
|
|
19
|
-
redis_benchmarks_specification/__common__/spec.py,sha256=
|
|
19
|
+
redis_benchmarks_specification/__common__/spec.py,sha256=eTF5559epBB0FrJPx-jRDQVeP_ZVOgyC7Vjxr2xk6fo,3262
|
|
20
20
|
redis_benchmarks_specification/__common__/timeseries.py,sha256=_LJFtC5sVP7DTaLZaIzv5g7wRxPTQZRwFIYvWX4p4N8,50533
|
|
21
21
|
redis_benchmarks_specification/__compare__/__init__.py,sha256=DtBXRp0Q01XgCFmY-1OIePMyyYihVNAjZ1Y8zwqSDN0,101
|
|
22
|
-
redis_benchmarks_specification/__compare__/args.py,sha256=
|
|
23
|
-
redis_benchmarks_specification/__compare__/compare.py,sha256=
|
|
22
|
+
redis_benchmarks_specification/__compare__/args.py,sha256=HKp94Tpb4iH0J7I4DK8d63D_sgYNu8f5jI-F1Vadh8o,5557
|
|
23
|
+
redis_benchmarks_specification/__compare__/compare.py,sha256=GUsDWPHMXjAR682HKv3lamelIbJ-TMF_VdQOpfJvdtU,41180
|
|
24
24
|
redis_benchmarks_specification/__init__.py,sha256=YQIEx2sLPPA0JR9OuCuMNMNtm-f_gqDKgzvNJnkGNKY,491
|
|
25
25
|
redis_benchmarks_specification/__runner__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
26
26
|
redis_benchmarks_specification/__runner__/args.py,sha256=lYvbPd_3ppHZv4f2sRwXcF-fcBrwRSn3H2RMmNVkojY,7221
|
|
@@ -31,10 +31,10 @@ redis_benchmarks_specification/__self_contained_coordinator__/artifacts.py,sha25
|
|
|
31
31
|
redis_benchmarks_specification/__self_contained_coordinator__/build_info.py,sha256=vlg8H8Rxu2falW8xp1GvL1SV1fyBguSbz6Apxc7A2yM,2282
|
|
32
32
|
redis_benchmarks_specification/__self_contained_coordinator__/clients.py,sha256=voL6zP3RenpZ1A7JKGVkvEWVXI9KYwmnSgVJr6l8o-4,710
|
|
33
33
|
redis_benchmarks_specification/__self_contained_coordinator__/cpuset.py,sha256=sRvtoJIitppcOpm3R5LbVmSfPEAqPumOqVATnF5Wbek,594
|
|
34
|
-
redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=
|
|
34
|
+
redis_benchmarks_specification/__self_contained_coordinator__/docker.py,sha256=Alf9Y1dfuOMoD4u_Dv3jTodkwZfSrlo2_YceevaWNFo,2757
|
|
35
35
|
redis_benchmarks_specification/__self_contained_coordinator__/prepopulation.py,sha256=qB1rwqkROfuyFotB7MfUQiYS4Gzafd8dd2ca7lT4l2I,2909
|
|
36
|
-
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=
|
|
37
|
-
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=
|
|
36
|
+
redis_benchmarks_specification/__self_contained_coordinator__/runners.py,sha256=FqVVvbXPsmq2I7pSH-JEklb1SDRdS7rG6ZHc6xTCUE0,28611
|
|
37
|
+
redis_benchmarks_specification/__self_contained_coordinator__/self_contained_coordinator.py,sha256=CWL6xOUR_R232rMTIrlAbBAxusiN-QKOS5Rm9JAQ_dk,74493
|
|
38
38
|
redis_benchmarks_specification/__setups__/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
39
|
redis_benchmarks_specification/__setups__/topologies.py,sha256=xQ1IJkcTji_ZjLiJd3vOxZpvbNtBLZw9cPkw5hGJKHU,481
|
|
40
40
|
redis_benchmarks_specification/__spec__/__init__.py,sha256=l-G1z-t6twUgi8QLueqoTQLvJmv3hJoEYskGm6H7L6M,83
|
|
@@ -48,7 +48,7 @@ redis_benchmarks_specification/commands/commands.py,sha256=hJbKkGzAFt_l40fJyQLfB
|
|
|
48
48
|
redis_benchmarks_specification/setups/builders/gcc:8.5.0-amd64-debian-buster-default.yml,sha256=Xt1s2b6clVnPDOfHD4tbCvZSNpzjHi4Cf6LGP323djE,511
|
|
49
49
|
redis_benchmarks_specification/setups/builders/gcc:8.5.0-arm64-debian-buster-default.yml,sha256=I6qEO7MZKduVx6xbBrRniE1i6NK9R8-uQXdQJT9o5G4,511
|
|
50
50
|
redis_benchmarks_specification/setups/platforms/aws-ec2-1node-c5.4xlarge.yml,sha256=l7HsjccpebwZXeutnt3SHSETw4iiRwQ9dCDXLOySSRQ,622
|
|
51
|
-
redis_benchmarks_specification/setups/topologies/topologies.yml,sha256=
|
|
51
|
+
redis_benchmarks_specification/setups/topologies/topologies.yml,sha256=4h8e-zXA9-_iuJ2MsgldUnPKpHTUUD3BgLdZ9FsLPdI,3007
|
|
52
52
|
redis_benchmarks_specification/test-suites/defaults.yml,sha256=Ckte0Bv8b5L7vxWYqochiVGZnlqqw49-vGjFRsppXdg,991
|
|
53
53
|
redis_benchmarks_specification/test-suites/generate.py,sha256=FApiWulMw-_2jhl1zqrLUnTnOk3Vm7YxC3oGdauhv3A,3835
|
|
54
54
|
redis_benchmarks_specification/test-suites/memtier_benchmark-10Mkeys-load-hash-5-fields-with-1000B-values-pipeline-10.yml,sha256=UBkJYvOPHUWQAsSMioLkMdyOutYsi5IpU_MNXDMulzQ,950
|
|
@@ -150,9 +150,10 @@ redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-el
|
|
|
150
150
|
redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-set-10-100-elements-sunion.yml,sha256=AUREIxTKDRqLB8MegcgSIG7xyofWPYKPpD-4KUSA1BA,2371
|
|
151
151
|
redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries-pipeline-10.yml,sha256=7yWCmQTtiypmF1tHGV61z9Zh5EH8CVuETu7bDNC4V6g,1138
|
|
152
152
|
redis_benchmarks_specification/test-suites/memtier_benchmark-2keys-stream-5-entries-xread-all-entries.yml,sha256=Z6T75dIbjRb4YO1tFIV9K4S_KFzRHfAa4q3kOg0vcHw,1112
|
|
153
|
+
redis_benchmarks_specification/test-suites/memtier_benchmark-3Mkeys-load-string-with-512B-values.yml,sha256=XAIFlbR6VJnmQRwedLGBGenbIsMC_I3uA35Mz_bkTTc,1028
|
|
153
154
|
redis_benchmarks_specification/test-suites/template.txt,sha256=d_edIE7Sxa5X7I2yG-Io0bPdbDIHR0oWFoCA3XUt_EU,435
|
|
154
|
-
redis_benchmarks_specification-0.1.
|
|
155
|
-
redis_benchmarks_specification-0.1.
|
|
156
|
-
redis_benchmarks_specification-0.1.
|
|
157
|
-
redis_benchmarks_specification-0.1.
|
|
158
|
-
redis_benchmarks_specification-0.1.
|
|
155
|
+
redis_benchmarks_specification-0.1.216.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
156
|
+
redis_benchmarks_specification-0.1.216.dist-info/METADATA,sha256=L3EWU11UgYCLdhjak5d95YlaYsGIKbPa7XkJrVMLg1Q,22726
|
|
157
|
+
redis_benchmarks_specification-0.1.216.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
158
|
+
redis_benchmarks_specification-0.1.216.dist-info/entry_points.txt,sha256=x5WBXCZsnDRTZxV7SBGmC65L2k-ygdDOxV8vuKN00Nk,715
|
|
159
|
+
redis_benchmarks_specification-0.1.216.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|