You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Formalize mechanism for recording/managing benchmark results.
This patch defines new types and mechanisms for managing benchmark
results using a channel-based appriach, as the previous
gmeasure.Stopwatch-based approach did not provide a mechanism
for associating operations which are part of a larger lifecycle
being benchmarked. (e.g. container CRUD operations)
Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
Before running the test, you need to _ensure that the CRI server under test is running and listening on a Unix socket_ or a Windows tcp socket. Because the benchmark tests are designed to request changes (e.g., create/delete) to the containers and verify that correct status is reported, it expects to be the only user of the CRI server. Please make sure that 1) there are no existing CRI-managed containers running on the node, and 2) no other processes (e.g., Kubelet) will interfere with the tests.
28
28
29
+
### Defining benchmarking parameters
30
+
31
+
You can optionally specify some parameters detailing how benchmarks should be run.
32
+
33
+
```yaml
34
+
# The number of container lifecycle benchmarks to run:
35
+
containersNumber: 100
36
+
37
+
# The number of container lifecycle benchmarks to run in parallel.
38
+
# The total number of samples will be floor(containersNumber / containersNumberParallel)
39
+
containersNumberParallel: 2
40
+
41
+
42
+
# The number of pod lifecycle benchmarks to run:
43
+
podsNumber: 1000
44
+
# The number of pod lifecycle benchmarks to run in parallel.
45
+
# The total number of samples will be floor(podsNumber/ podsNumberParallel)
46
+
podsNumberParallel: 1
47
+
```
48
+
29
49
### Run
30
50
31
51
```sh
32
52
critest -benchmark
53
+
[--benchmarking-params-file /path/to/params.yml]
54
+
[--benchmarking-output-dir /path/to/outdir/]
33
55
```
34
56
35
57
This will
@@ -45,5 +67,9 @@ critest connects to Unix: `unix:///var/run/dockershim.sock` or Windows: `tcp://l
45
67
-`-ginkgo.focus`: Only run the tests that match the regular expression.
46
68
-`-image-endpoint`: Set the endpoint of image service. Same with runtime-endpoint if not specified.
47
69
-`-runtime-endpoint`: Set the endpoint of runtime service. Default to Unix: `unix:///var/run/dockershim.sock` or Windows: `tcp://localhost:3735`.
70
+
-`-benchmarking-params-file`: optional path to a YAML file containing parameters describing which
71
+
benchmarks should be run.
72
+
-`-benchmarking-output-dir`: optional path to a pre-existing directory in which to write JSON
73
+
files detailing the results of the benchmarks.
48
74
-`-ginkgo.skip`: Skip the tests that match the regular expression.
0 commit comments