Performance Fields
Help Text for Completing Performance Attributes
1. Description
-
What this field captures: Provide a brief summary of the performance metrics for the system, outlining key performance goals or characteristics.
-
What to include:
- High-level description of the system’s performance objectives.
- Mention any specific user or business requirements related to performance.
-
Example:
- “The system is designed to process 500 operations per second with a latency of under 100ms for 95% of all requests during normal operation.”
2. Throughput (Normal)
-
What this field captures: The number of operations or requests the system can reliably process per second during normal conditions.
-
What to include:
- Average workload the system is expected to handle without compromise.
- Use specific values and units (e.g., operations per second).
-
Example:
- “500 operations per second during normal operations.”
3. Throughput (Stressed)
-
What this field captures: The system’s throughput under moderate stress, such as during peak load times.
-
What to include:
- The reduced throughput capacity when the system is under stress due to increased usage.
-
Example:
- “300 operations per second under moderate stress, e.g., during lunchtime spikes.”
4. Throughput (Maximum)
-
What this field captures: The absolute maximum throughput the system can achieve before performance degrades or fails.
-
What to include:
- The uppermost limit of the system’s capacity under optimal conditions.
-
Example:
- “The system can handle a maximum of 1000 operations per second.”
5. Latency Target P95
-
What this field captures: The maximum latency (response time) for 95% of requests during normal operation.
-
What to include:
- A realistic latency target for most operations during normal usage.
- Use units of time, such as milliseconds (ms).
-
Example:
- “P95 latency target is less than 100ms during normal operations.”
6. Latency Target P99
-
What this field captures: The maximum latency (response time) for 99% of requests during normal operation.
-
What to include:
- A more stringent target, reflecting latency for the vast majority of requests in normal conditions.
-
Example:
- “P99 latency target is less than 200ms during normal operations.”
7. Latency Degraded P95
-
What this field captures: The maximum latency for 95% of requests when the system is under stress or working in degraded conditions.
-
What to include:
- Indicate what level of latency is acceptable in such scenarios.
-
Example:
- “P95 degraded latency should remain under 500ms during high-stress conditions.”
8. Error Rate (Normal)
-
What this field captures: The acceptable percentage of errors during normal operations.
-
What to include:
- Any upper limits on acceptable failure rates or errors during regular system use.
- Use percentages to express error rates.
-
Example:
- “Error rate to remain below 0.1% during normal operations.”
9. Error Rate (Stressed)
-
What this field captures: The acceptable percentage of errors under higher-than-average workloads or stressed conditions.
-
What to include:
- Indicate leniency for errors occurring due to increased stress while still maintaining usability.
-
Example:
- “Error rate to remain below 2% during stressed conditions.”
10. CPI Utilisation
-
What this field captures: The maximum CPU usage allowed during normal operations.
-
What to include:
- Specify the target percentage of CPU utilisation to avoid overloading resources.
-
Example:
- “Average CPU utilisation to stay below 70% of capacity during normal operations.”
11. Memory Utilisation
-
What this field captures: The maximum memory usage allowed during normal operations.
-
What to include:
- Indicate the level of memory usage (as a percentage) to ensure optimal functioning without resource constraints.
-
Example:
- “Memory utilisation to remain below 75% during regular usage.”
General Tips for Architects
- Be Specific: Use precise values and measurable metrics (e.g., seconds, milliseconds, %, or requests/second) so the data is actionable and verifiable.
- Consider Business Impact: Metrics should align with business needs and user experience expectations. For example, highlighting low latency or error rates for critical applications.
- Account for Scalability: Ensure metrics consider how the system should behave when the workload grows, by defining “stressed” and “maximum” performance goals.
- Use Realistic Benchmarks: Use performance tests or references from similar projects to set achievable and realistic targets.
- Document Clearly: Provide examples or assumptions to make it easy for other team members to understand the performance goals.
By properly defining these values, architects ensure the system will deliver a reliable, high-performance user experience under all expected conditions.