-
Total Requests per Second (RPS):
- Run #1: Low RPS, likely due to minimal concurrent users.
- Run #2: Steady increase in RPS, reaching around 200 requests per second.
- Run #3: Further increase, stabilizing around 800–900 requests per second.
- Run #4: Peaks at approximately 1,000 requests per second. Notably, no failures occurred across all runs, indicating strong stability and load-handling capacity.
-
Response Times (Latency) in Percentiles:
- Run #1: Minimal response times, with both the 50th percentile (p50) and 95th percentile (p95) at very low latency, reflecting a light load.
- Run #2: Some variance appears as load increases. The 95th percentile spikes momentarily but stabilizes around 80–90 ms, while the 50th percentile remains around 40 ms.
- Run #3: Latency increases due to higher load, with p50 around 70 ms and p95 around 100 ms, showing that latency begins to rise as more concurrent users are added.
- Run #4: Highest latency values, with p50 at approximately 100 ms and p95 peaking near 150 ms. This indicates that while RPS remains high, response times are impacted under very high concurrency.
-
Number of Users:
- Each successive run increases the number of concurrent users, with Run #4 reaching over 300 concurrent users.
- The graphs illustrate how response times and RPS scale with user load, providing insights into the Nginx setup's capacity to handle increasing traffic.
- Throughput Capacity: The system scales up RPS effectively with increased concurrency, handling up to ~1,000 RPS at peak load. This suggests that the setup is capable of managing high traffic without failures, though response times do increase as load intensifies.
- Latency Implications: The increase in p50 and p95 response times with higher concurrency reveals a trade-off between throughput and latency as concurrency rises. While the system maintains throughput, latency begins to degrade, suggesting potential optimizations to sustain low response times at high concurrency.
- Scaling Considerations: For workloads with strict latency requirements, adjustments to the Nginx configuration or backend optimizations may be necessary to maintain low response times under high concurrency.
This analysis demonstrates that while the system is robust under load, further improvements could be pursued to optimize latency for high-concurrency scenarios.