Skip to content

PQ-001: Performance Qualification

Property Value
ID PQ-001
Version 1.0
Verifies Against URS (performance aspects), arc42/10 - Quality Scenarios
Status Draft
Author
Approved By
Date

Purpose

Verify that the Essert.MF standard product meets performance requirements under realistic operating conditions. The PQ leverages the existing Performance Benchmark CLI.


PQ Execution

Full PQ Run

cd Essert.MF.PerformanceBenchmark
dotnet run -- run                                    # Run all benchmark suites
dotnet run -- run --suite restapi                    # REST API benchmarks only
dotnet run -- compare --current ./Results/latest.json  # Compare with baseline

PQ Test Items

PQ-001.1: Database Connectivity Performance

Property Value
URS Reference URS-SYS-001.3 (health check), URS-DAT-001
QS Reference QS-P3
Benchmark Suite Connectivity
Command dotnet run -- run --suite connectivity
Pass Criteria All 8 database connections < 100ms

PQ-001.2: REST API Response Times

Property Value
URS Reference URS-INT-001.1
QS Reference QS-P1
Benchmark Suite REST API (55 endpoints)
Command dotnet run -- run --suite restapi
Pass Criteria See thresholds below

Thresholds:

Endpoint Type P50 P95 P99
Simple GET (single entity) 50ms 150ms 200ms
List GET (paginated) 100ms 300ms 500ms
Complex query 200ms 500ms 800ms
POST (create) 100ms 300ms 500ms
PUT (update) 80ms 250ms 400ms
DELETE 50ms 150ms 250ms

PQ-001.3: Repository Operations

Property Value
URS Reference URS-PAR-001.1-2 (CRUD), URS-DAT-001.2 (CRC)
QS Reference QS-P4
Benchmark Suite Repository
Command dotnet run -- run --suite repository
Pass Criteria All repository CRUD operations < 500ms

PQ-001.4: Complex Scenario Performance

Property Value
URS Reference URS-PRD-001.5 (cascading delete), URS-PAR-001.5 (all mappings)
Benchmark Suite Scenario
Command dotnet run -- run --suite scenario
Pass Criteria Multi-step workflows < 2000ms

PQ-001.5: Concurrent Load

Property Value
URS Reference URS-INT-001.1
QS Reference Concurrent Load Targets
Benchmark Suite REST API (concurrent)
Command dotnet run -- run --suite restapi (concurrent load tests)
Pass Criteria See thresholds below

Thresholds:

Concurrent Users Throughput Error Rate
10 > 50 req/s < 0.1%
50 > 100 req/s < 0.5%
100 > 150 req/s < 1%

PQ Results Template

PQ Item Description Threshold Actual Result
PQ-001.1 DB connectivity < 100ms
PQ-001.2 REST API response See above
PQ-001.3 Repository CRUD < 500ms
PQ-001.4 Complex scenarios < 2000ms
PQ-001.5 Concurrent load See above

Benchmark Results File: ./Results/latest.json

Executed By: __ Date: __

Reviewed By: __ Date: __


Baseline Management

# Save current results as baseline
dotnet run -- run --baseline

# Compare future runs against baseline
dotnet run -- compare --current ./Results/latest.json --threshold 10

Exit code 2 indicates performance regression exceeding threshold.


Supporting Evidence (Archived)