Trustify load tests · 2026-10-21 04:52 UTC
Duration
10m 00s
Total requests
196,151
Failure rate
0.0%
0 failed requests
Throughput
327.2 req/s
Latency 95%ile
72 ms
Latency 99%ile
230 ms
Endpoints
72
0 with failures
Over time
Throughput
Requests and failures per second
Response time
Percentiles over Locust's rolling window, ms
Users
Concurrent simulated users
Load plan
| Action | Started | Stopped | Elapsed | Users |
|---|---|---|---|---|
| Increasing | 04:52:01 | 04:52:05 | 0m 04s | 2 → 10 |
| Maintaining | 04:52:05 | 05:02:01 | 9m 56s | 10 → 10 |
Top 10 slowest endpoints (95%ile)
| # | Method | Name | 95%ile (ms) | Average (ms) | # Requests |
|---|---|---|---|---|---|
| 1 | GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 6,000 | 5,201 | 108 |
| 2 | POST | /api/v3/vulnerability/analyze | 3,400 | 981 | 421 |
| 3 | GET | /api/v3/sbom/{sbom_id}/download | 2,900 | 2,829 | 109 |
| 4 | GET | /api/v3/purl?sort=purl:name:asc&total=true | 2,600 | 273 | 110 |
| 5 | GET | /api/v3/purl?q=purl:ty=rpm&total=true | 2,300 | 211 | 112 |
| 6 | GET | /api/v3/purl?offset=100&limit=10&total=true | 2,100 | 226 | 119 |
| 7 | GET | /api/v3/advisory?q=CVE-2021-&total=true | 1,800 | 373 | 410 |
| 8 | GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 1,700 | 186 | 123 |
| 9 | POST | /api/v3/purl/recommend | 1,500 | 973 | 385 |
| 10 | GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 1,300 | 678 | 204 |
Request metrics
| Method | Name | # Requests | # Fails | Fail % | Average (ms) | Min (ms) | Max (ms) | Avg size (B) | RPS | Failures/s |
|---|---|---|---|---|---|---|---|---|---|---|
| sbom 16 | ||||||||||
| GET | /api/v3/sbom/by-package?purl={purl} | 106 | 0 | 0% | 96.6 | 16.3 | 145 | 1,287 | 0.18 | 0 |
| GET | /api/v3/sbom/count-by-package | 89 | 0 | 0% | 34.7 | 4.49 | 83.6 | 3 | 0.15 | 0 |
| GET | /api/v3/sbom/{sbom_id} | 117 | 0 | 0% | 126 | 55.9 | 234 | 2,015 | 0.20 | 0 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 123 | 0 | 0% | 18.6 | 1.96 | 75.6 | 2 | 0.21 | 0 |
| GET | /api/v3/sbom/{sbom_id}/download | 109 | 0 | 0% | 2,829 | 2,645 | 3,515 | 136,458,638 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 115 | 0 | 0% | 30.9 | 4.00 | 95.9 | 234 | 0.19 | 0 |
| GET | /api/v3/sbom/{sbom_id}/packages | 107 | 0 | 0% | 136 | 13.3 | 387 | 12,648 | 0.18 | 0 |
| GET | /api/v3/sbom/{sbom_id}/related | 109 | 0 | 0% | 145 | 20.6 | 381 | 15,372 | 0.18 | 0 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 125 | 0 | 0% | 248 | 39.2 | 882 | 12,189 | 0.21 | 0 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 229 | 0 | 0% | 165 | 21.9 | 617 | 11,900 | 0.38 | 0 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 107 | 0 | 0% | 26.5 | 2.53 | 92.0 | 22 | 0.18 | 0 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 120 | 0 | 0% | 24.7 | 1.93 | 82.5 | 22 | 0.20 | 0 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 115 | 0 | 0% | 405 | 11.0 | 1,111 | 22 | 0.19 | 0 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 102 | 0 | 0% | 167 | 27.1 | 784 | 29,317 | 0.17 | 0 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 113 | 0 | 0% | 285 | 28.4 | 1,305 | 29,600 | 0.19 | 0 |
| GET | /api/v3/sbom?total=true | 213 | 0 | 0% | 164 | 29.0 | 874 | 29,317 | 0.36 | 0 |
| advisory 13 | ||||||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 439 | 0 | 0% | 57.6 | 4.13 | 130 | 2,395 | 0.73 | 0 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 417 | 0 | 0% | 27.1 | 4.35 | 91.4 | 178,423 | 0.70 | 0 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 408 | 0 | 0% | 91.6 | 6.51 | 2,399 | 44,003 | 0.68 | 0 |
| GET | /api/v3/advisory?limit=1&total=true | 109 | 0 | 0% | 74.0 | 8.24 | 1,043 | 3,888 | 0.18 | 0 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 407 | 0 | 0% | 78.3 | 3.96 | 2,392 | 20,193 | 0.68 | 0 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 366 | 0 | 0% | 81.9 | 5.03 | 2,386 | 19,335 | 0.61 | 0 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 109 | 0 | 0% | 230 | 49.5 | 537 | 2,037 | 0.18 | 0 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 410 | 0 | 0% | 373 | 11.2 | 3,365 | 49,601 | 0.68 | 0 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 408 | 0 | 0% | 60.0 | 3.23 | 128 | 1,971 | 0.68 | 0 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 413 | 0 | 0% | 22.6 | 2.32 | 87.7 | 22 | 0.69 | 0 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 426 | 0 | 0% | 444 | 13.8 | 1,489 | 57,335 | 0.71 | 0 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 420 | 0 | 0% | 86.7 | 6.63 | 2,493 | 38,128 | 0.70 | 0 |
| GET | /api/v3/advisory?total=true | 452 | 0 | 0% | 105 | 6.34 | 2,178 | 49,700 | 0.75 | 0 |
| vulnerability 7 | ||||||||||
| POST | /api/v3/vulnerability/analyze | 421 | 0 | 0% | 981 | 1.39 | 5,091 | 4,271,526 | 0.70 | 0 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 190 | 0 | 0% | 65.7 | 4.78 | 634 | 7,429 | 0.32 | 0 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 196 | 0 | 0% | 44.2 | 2.66 | 995 | 18,477 | 0.33 | 0 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 213 | 0 | 0% | 45.4 | 2.50 | 1,082 | 18,479 | 0.36 | 0 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 174 | 0 | 0% | 47.7 | 3.25 | 1,185 | 18,875 | 0.29 | 0 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 204 | 0 | 0% | 678 | 188 | 2,031 | 14,232 | 0.34 | 0 |
| GET | /api/v3/vulnerability?total=true | 176 | 0 | 0% | 32.0 | 2.55 | 609 | 18,947 | 0.29 | 0 |
| purl 15 | ||||||||||
| GET | /api/v3/purl/base/{purl} | 128 | 0 | 0% | 83.4 | 5.30 | 314 | 48,827 | 0.21 | 0 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 109 | 0 | 0% | 84.2 | 3.91 | 536 | 2,080 | 0.18 | 0 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 123 | 0 | 0% | 65.3 | 8.91 | 128 | 2,080 | 0.21 | 0 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 123 | 0 | 0% | 212 | 77.2 | 521 | 2,943 | 0.21 | 0 |
| GET | /api/v3/purl/base?total=true | 123 | 0 | 0% | 61.5 | 3.29 | 221 | 2,450 | 0.21 | 0 |
| POST | /api/v3/purl/recommend | 385 | 0 | 0% | 973 | 176 | 1,744 | 2,747 | 0.64 | 0 |
| GET | /api/v3/purl/{purl_id} | 125 | 0 | 0% | 92.5 | 18.4 | 307 | 537 | 0.21 | 0 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 119 | 0 | 0% | 226 | 1.91 | 4,359 | 4,489 | 0.20 | 0 |
| GET | /api/v3/purl?q=curl&total=true | 109 | 0 | 0% | 222 | 3.70 | 2,302 | 11,836 | 0.18 | 0 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 123 | 0 | 0% | 32.5 | 2.43 | 91.8 | 22 | 0.21 | 0 |
| GET | /api/v3/purl?q=name=curl&total=true | 114 | 0 | 0% | 33.8 | 2.16 | 205 | 12,084 | 0.19 | 0 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 123 | 0 | 0% | 186 | 1.89 | 3,594 | 11,240 | 0.21 | 0 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 112 | 0 | 0% | 211 | 1.96 | 2,717 | 11,783 | 0.19 | 0 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 110 | 0 | 0% | 273 | 1.78 | 4,556 | 11,101 | 0.18 | 0 |
| GET | /api/v3/purl?total=true | 124 | 0 | 0% | 111 | 1.73 | 3,269 | 11,826 | 0.21 | 0 |
| license 9 | ||||||||||
| GET | /api/v3/license/spdx/license/{license_id} | 1,904 | 0 | 0% | 40.7 | 1.13 | 65.5 | 1,143 | 3.18 | 0 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 1,859 | 0 | 0% | 2.51 | 0.90 | 28.7 | 165 | 3.10 | 0 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 1,866 | 0 | 0% | 41.1 | 1.16 | 72.6 | 1,981 | 3.11 | 0 |
| GET | /api/v3/license/spdx/license?total=true | 1,886 | 0 | 0% | 40.5 | 0.98 | 61.7 | 1,525 | 3.15 | 0 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 1,884 | 0 | 0% | 35.3 | 5.76 | 173 | 425 | 3.14 | 0 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 1,901 | 0 | 0% | 30.0 | 2.99 | 105 | 22 | 3.17 | 0 |
| GET | /api/v3/license?q=license~Apache&total=true | 1,803 | 0 | 0% | 26.4 | 2.36 | 86.7 | 120 | 3.01 | 0 |
| GET | /api/v3/license?q=license~GPL&total=true | 1,908 | 0 | 0% | 25.7 | 2.26 | 101 | 92 | 3.18 | 0 |
| GET | /api/v3/license?total=true | 1,836 | 0 | 0% | 71.1 | 7.70 | 235 | 1,101 | 3.06 | 0 |
| analysis 3 | ||||||||||
| GET | /api/v3/analysis/component/{component} | 14,038 | 0 | 0% | 13.6 | 1.26 | 164 | 25 | 23.42 | 0 |
| GET | /api/v3/analysis/latest/component/{cpe} | 14,222 | 0 | 0% | 13.8 | 1.30 | 180 | 25 | 23.72 | 0 |
| GET | /api/v3/analysis/status | 14,160 | 0 | 0% | 13.0 | 1.14 | 174 | 103 | 23.62 | 0 |
| importer 1 | ||||||||||
| GET | /api/v3/importer?total=true | 52,133 | 0 | 0% | 10.7 | 0.94 | 168 | 2 | 86.96 | 0 |
| group 3 | ||||||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 15,680 | 0 | 0% | 12.4 | 1.14 | 107 | 38 | 26.16 | 0 |
| GET | /api/v3/group/sbom?total=true | 15,726 | 0 | 0% | 11.8 | 1.11 | 100.0 | 22 | 26.23 | 0 |
| GET | /api/v3/group/sbom?totals=true&total=true | 15,794 | 0 | 0% | 11.8 | 1.14 | 99.7 | 22 | 26.35 | 0 |
| labels 3 | ||||||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 108 | 0 | 0% | 5,201 | 4,362 | 6,489 | 60 | 0.18 | 0 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 134 | 0 | 0% | 67.4 | 6.88 | 125 | 1,065 | 0.22 | 0 |
| GET | /api/v3/sbom-labels?total=true | 122 | 0 | 0% | 67.4 | 10.4 | 134 | 1,065 | 0.20 | 0 |
| other 2 | ||||||||||
| GET | /.well-known/trustify | 13,436 | 0 | 0% | 41.3 | 0.81 | 74.5 | 1,179 | 22.41 | 0 |
| POST | /api/v3/ui/extract-sbom-purls | 13,344 | 0 | 0% | 2.26 | 0.85 | 40.1 | 45 | 22.26 | 0 |
Response time metrics (ms)
| Method | Name | 50%ile | 75%ile | 90%ile | 95%ile | 99%ile | 100%ile |
|---|---|---|---|---|---|---|---|
| sbom 16 | |||||||
| GET | /api/v3/sbom/by-package?purl={purl} | 100 | 130 | 130 | 140 | 140 | 140 |
| GET | /api/v3/sbom/count-by-package | 28 | 60 | 77 | 80 | 84 | 84 |
| GET | /api/v3/sbom/{sbom_id} | 130 | 140 | 200 | 220 | 230 | 230 |
| GET | /api/v3/sbom/{sbom_id}/all-license-ids | 6 | 28 | 61 | 70 | 75 | 76 |
| GET | /api/v3/sbom/{sbom_id}/download | 2,800 | 2,900 | 2,900 | 2,900 | 3,200 | 3,500 |
| GET | /api/v3/sbom/{sbom_id}/license-export | 13 | 57 | 76 | 80 | 84 | 96 |
| GET | /api/v3/sbom/{sbom_id}/packages | 99 | 210 | 280 | 300 | 360 | 390 |
| GET | /api/v3/sbom/{sbom_id}/related | 110 | 190 | 250 | 290 | 360 | 380 |
| GET | /api/v3/sbom?limit=10&sort=name:asc&total=true | 210 | 310 | 430 | 520 | 780 | 880 |
| GET | /api/v3/sbom?offset=100&limit=10&total=true | 110 | 200 | 320 | 400 | 580 | 620 |
| GET | /api/v3/sbom?q=label:type=product&total=true | 8 | 50 | 73 | 75 | 81 | 92 |
| GET | /api/v3/sbom?q=license~GPL&sort=name:desc&total=true | 8 | 51 | 74 | 78 | 82 | 82 |
| GET | /api/v3/sbom?q=name~redhat&total=true | 200 | 820 | 1,000 | 1,100 | 1,100 | 1,100 |
| GET | /api/v3/sbom?q=published>2024-01-01&total=true | 120 | 200 | 300 | 390 | 490 | 780 |
| GET | /api/v3/sbom?sort=ingested:desc&total=true | 260 | 400 | 500 | 590 | 840 | 1,300 |
| GET | /api/v3/sbom?total=true | 110 | 190 | 300 | 380 | 600 | 870 |
| advisory 13 | |||||||
| GET | /api/v3/advisory/urn:uuid:{advisory_id} | 47 | 73 | 100 | 110 | 120 | 130 |
| GET | /api/v3/advisory/urn:uuid:{advisory_id}/download | 12 | 46 | 73 | 77 | 89 | 91 |
| GET | /api/v3/advisory?deprecated=Consider&total=true | 21 | 73 | 100 | 160 | 2,000 | 2,400 |
| GET | /api/v3/advisory?limit=1&total=true | 49 | 72 | 99 | 110 | 830 | 1,000 |
| GET | /api/v3/advisory?limit=10&sort=ingested:desc&total=true | 17 | 67 | 79 | 86 | 1,800 | 2,400 |
| GET | /api/v3/advisory?offset=100&limit=10&total=true | 63 | 84 | 92 | 98 | 1,600 | 2,400 |
| GET | /api/v3/advisory?offset={offset}&limit=1 | 210 | 300 | 400 | 490 | 540 | 540 |
| GET | /api/v3/advisory?q=CVE-2021-&total=true | 180 | 300 | 1,200 | 1,800 | 2,300 | 3,400 |
| GET | /api/v3/advisory?q=identifier=CVE-2022-0981&total=true | 48 | 84 | 110 | 110 | 120 | 130 |
| GET | /api/v3/advisory?q=modified>3 days ago&total=true | 7 | 42 | 69 | 72 | 78 | 88 |
| GET | /api/v3/advisory?q=title~openssl&total=true | 360 | 590 | 1,000 | 1,100 | 1,300 | 1,500 |
| GET | /api/v3/advisory?sort=modified:desc&total=true | 20 | 75 | 98 | 110 | 1,900 | 2,500 |
| GET | /api/v3/advisory?total=true | 96 | 100 | 140 | 180 | 200 | 2,200 |
| vulnerability 7 | |||||||
| POST | /api/v3/vulnerability/analyze | 65 | 1,700 | 2,900 | 3,400 | 4,000 | 5,100 |
| GET | /api/v3/vulnerability?offset=100&limit=10&total=true | 46 | 53 | 99 | 110 | 560 | 630 |
| GET | /api/v3/vulnerability?q=base_score>=7.0&total=true | 8 | 25 | 72 | 180 | 880 | 1,000 |
| GET | /api/v3/vulnerability?q=base_severity=high&total=true | 8 | 28 | 70 | 79 | 1,100 | 1,100 |
| GET | /api/v3/vulnerability?q=cwes=CWE-79&total=true | 8 | 15 | 68 | 210 | 920 | 1,200 |
| GET | /api/v3/vulnerability?sort=base_score:desc&total=true | 570 | 890 | 1,100 | 1,300 | 1,800 | 2,000 |
| GET | /api/v3/vulnerability?total=true | 7 | 16 | 68 | 75 | 600 | 610 |
| purl 15 | |||||||
| GET | /api/v3/purl/base/{purl} | 63 | 130 | 200 | 210 | 270 | 310 |
| GET | /api/v3/purl/base?q=namespace=redhat&total=true | 53 | 97 | 110 | 200 | 540 | 540 |
| GET | /api/v3/purl/base?q=type=rpm&total=true | 51 | 88 | 100 | 100 | 120 | 130 |
| GET | /api/v3/purl/base?sort=name:asc&total=true | 200 | 240 | 300 | 340 | 410 | 520 |
| GET | /api/v3/purl/base?total=true | 45 | 85 | 100 | 110 | 200 | 220 |
| POST | /api/v3/purl/recommend | 1,100 | 1,200 | 1,400 | 1,500 | 1,700 | 1,700 |
| GET | /api/v3/purl/{purl_id} | 86 | 110 | 160 | 170 | 200 | 310 |
| GET | /api/v3/purl?offset=100&limit=10&total=true | 46 | 80 | 100 | 2,100 | 4,200 | 4,400 |
| GET | /api/v3/purl?q=curl&total=true | 59 | 210 | 580 | 1,200 | 2,000 | 2,300 |
| GET | /api/v3/purl?q=license~GPLv3+...&sort=name:desc&total=true | 20 | 55 | 67 | 75 | 83 | 92 |
| GET | /api/v3/purl?q=name=curl&total=true | 18 | 54 | 65 | 80 | 200 | 210 |
| GET | /api/v3/purl?q=purl:namespace=redhat&total=true | 9 | 51 | 86 | 1,700 | 2,900 | 3,600 |
| GET | /api/v3/purl?q=purl:ty=rpm&total=true | 7 | 52 | 75 | 2,300 | 2,600 | 2,700 |
| GET | /api/v3/purl?sort=purl:name:asc&total=true | 16 | 55 | 76 | 2,600 | 4,200 | 4,600 |
| GET | /api/v3/purl?total=true | 7 | 44 | 64 | 90 | 3,200 | 3,300 |
| license 9 | |||||||
| GET | /api/v3/license/spdx/license/{license_id} | 42 | 43 | 44 | 45 | 52 | 65 |
| GET | /api/v3/license/spdx/license?q=apache&total=true | 2 | 3 | 4 | 5 | 7 | 29 |
| GET | /api/v3/license/spdx/license?q=gpl&total=true | 43 | 43 | 44 | 45 | 56 | 73 |
| GET | /api/v3/license/spdx/license?total=true | 42 | 43 | 44 | 45 | 51 | 62 |
| GET | /api/v3/license?limit=10&sort=license:asc&total=true | 21 | 58 | 76 | 82 | 95 | 170 |
| GET | /api/v3/license?q=ASL&sort=license:desc&total=true | 14 | 53 | 69 | 76 | 84 | 100 |
| GET | /api/v3/license?q=license~Apache&total=true | 11 | 48 | 62 | 73 | 80 | 87 |
| GET | /api/v3/license?q=license~GPL&total=true | 11 | 47 | 62 | 73 | 81 | 100 |
| GET | /api/v3/license?total=true | 58 | 96 | 110 | 120 | 130 | 230 |
| analysis 3 | |||||||
| GET | /api/v3/analysis/component/{component} | 5 | 6 | 64 | 70 | 78 | 160 |
| GET | /api/v3/analysis/latest/component/{cpe} | 5 | 7 | 65 | 70 | 78 | 180 |
| GET | /api/v3/analysis/status | 4 | 6 | 63 | 69 | 77 | 170 |
| importer 1 | |||||||
| GET | /api/v3/importer?total=true | 3 | 5 | 57 | 67 | 75 | 170 |
| group 3 | |||||||
| GET | /api/v3/group/sbom?parents=resolve&total=true | 4 | 6 | 62 | 69 | 75 | 110 |
| GET | /api/v3/group/sbom?total=true | 4 | 6 | 61 | 69 | 75 | 100 |
| GET | /api/v3/group/sbom?totals=true&total=true | 4 | 6 | 60 | 68 | 75 | 100 |
| labels 3 | |||||||
| GET | /api/v3/advisory-labels?filter_text=type&limit=1000 | 5,200 | 5,400 | 5,900 | 6,000 | 6,300 | 6,500 |
| GET | /api/v3/sbom-labels?limit=10&filter_text=&total=true | 50 | 91 | 110 | 120 | 120 | 130 |
| GET | /api/v3/sbom-labels?total=true | 51 | 88 | 110 | 120 | 130 | 130 |
| other 2 | |||||||
| GET | /.well-known/trustify | 42 | 43 | 44 | 45 | 53 | 74 |
| POST | /api/v3/ui/extract-sbom-purls | 1 | 3 | 4 | 5 | 7 | 40 |
Failures
No failures recorded.
Exceptions
No exceptions raised in the locustfile.