features/tuf/benchmarks.featureRunning behat features/tuf/benchmarks.feature results in:
@rugged @cli @hashed-bins @benchmarks @gitlab-143
Feature: Hashed bins are reasonably performant.
In order to speed up TUF repo operations when using hashed bins,
As a Rugged operator,
I want to reduce how many hashed bins metadata files are handled.
Background:
Given I reset Rugged
Scenario Outline: Benchmark loading hashed-bin metadata files when adding targets.
Given I run "sudo cp features/fixtures/config/benchmarks/<BINS>_bins.yaml /var/rugged/.config/rugged/config.yaml"
And I run the Rugged command "rugged generate-keys --local"
And I time the Rugged command "rugged initialize --local"
Examples:
| BINS |
| 16 |
│ Rugged command took: 00:00:00:522714
| 32 |
│ Rugged command took: 00:00:00:484651
| 64 |
│ Rugged command took: 00:00:00:599915
| 128 |
│ Rugged command took: 00:00:00:652154
| 256 |
│ Rugged command took: 00:00:00:789225
| 512 |
│ Rugged command took: 00:00:01:170072
| 1024 |
│ Rugged command took: 00:00:01:646800
| 2048 |
│ Rugged command took: 00:00:02:861264
| 4096 |
│ Rugged command took: 00:00:05:488606
Scenario Outline: Benchmark loading hashed-bin metadata files when adding targets.
Given I run "sudo cp features/fixtures/config/benchmarks/<BINS>_bins.yaml /var/rugged/.config/rugged/config.yaml"
And I run the Rugged command "rugged generate-keys --local"
And I run the Rugged command "rugged initialize --local"
And I time "for i in $(seq -f '%03g' 0 99); do sudo fallocate -l 1 /var/rugged/incoming_targets/bar$i.zip ; sudo sudo -u rugged rugged add-targets --local ; done;"
Examples:
| BINS |
| 16 |
│ Command took: 00:00:48:560110
| 32 |
│ Command took: 00:00:48:710537
| 64 |
│ Command took: 00:00:48:085675
| 128 |
│ Command took: 00:00:52:119591
| 256 |
│ Command took: 00:00:56:992181
| 512 |
│ Command took: 00:01:07:501735
| 1024 |
│ Command took: 00:01:23:492087
| 2048 |
│ Command took: 00:01:58:536889
| 4096 |
│ Command took: 00:03:13:881100
18 scenarios (18 passed)
81 steps (81 passed)