NOTE
2.1 Performance Testing
Definition of performance testing and its core metrics.
This is a historical learning note and may contain outdated or incomplete understanding.
1. What Is Performance Testing
- Observe how a system behaves under different workloads.
2. Performance Testing Metrics
2.1. Throughput
- Throughput is the amount of client work completed per unit time.
- In a stable system and with consistent definitions, Little’s Law can help relate average in-flight concurrency, throughput, and average time in the system.
concurrency / average response timeis not a universal capacity formula for every system.
2.1.1. TPS
- Transactions Per Second: business transactions completed per second.
2.1.2. QPS
- Queries Per Second: queries completed per second. The exact counting unit should be defined for the system under test.
2.2. Concurrency
- Concurrent users: users submitting work at the same physical moment.
- Online users: users who access the system during a period; they are not necessarily issuing requests simultaneously.
- System users: all registered users.
2.3. Response Time
- Time from a client initiating a request until it receives the result.
- It can be thought of as network time plus server/dependency processing time, although real systems may have additional queueing and client-side components.
2.4. Resource Utilization
- Resource utilization describes usage of CPU, memory, disk, network, and other resources.
- Whether utilization is acceptable depends on the SLO, resource type, queueing, and saturation behavior. Fixed 80% or 90% thresholds are not universal limits.
2.5. Error Rate
- Error rate = failed transactions / total transactions × 100%.
- An acceptable rate must come from the business SLO and test goal. Errors should be separated into application failures, timeouts, connection errors, throttling, and other classes.