NOTE
2.1 Performance Testing
Definition of performance testing and throughput, concurrency, response time, resource utilization, and error rate.
This is a historical learning note and may contain outdated or incomplete understanding.
1. What Is Performance Testing
- How the system operates under different loads.
2. Performance Testing Metrics
2.1. Throughput
- Throughput: the number of client requests processed per unit of time.
- Throughput ≈ concurrency / average response time (when the system is in a steady state and the definitions are consistent).
2.1.1. TPS
- Transactions Per Second: the number of transactions per second.
2.1.2. QPS
- Query Per Second: the number of queries per second.
2.2. Concurrency
- Concurrent users: the number of users submitting requests to the system at the same physical moment.
- Online users: the number of users who access the system during a period of time; these users are not necessarily submitting requests at the same time.
- System users: the total number of registered users in the system.
2.3. Response Time
- Response time is the time from when the user initiates a request from the client until the client receives the result returned by the server.
- Response time = network round-trip time + server processing time.
2.4. Resource Utilization
- Resource utilization: how system resources are being used.
- Resource utilization = resource usage / total available resources * 100%.
- Reference utilization values from the original note (not universal thresholds):
- CPU no higher than 80%.
- Memory no higher than 80%.
- Disk no higher than 90%.
2.5. Error Rate
- Error rate: the number of failed requests.
- Error rate = failed transactions / total transactions * 100%.
- Reference error rate from the original note (not a universal threshold):
- Below 0.5%.
- Error types depend on the specific system and failure mode.
Discussion
Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub