Nginx
Nginx is a high-performance open-source web server, reverse proxy, and load balancer. In Virtual Client, the Nginx workload measures web server performance by serving static content of configurable sizes over HTTPS and measuring throughput and latency under sustained load. The HTTP load is generated by the Wrk or Wrk2 toolsets.
What is Being Measured?
The Nginx workload measures the throughput and latency of an Nginx web server serving static files of a configurable size. The Wrk (or Wrk2) client tool generates concurrent HTTP/HTTPS requests across different connection counts and thread configurations to characterize server performance at varying load levels.
The following scenarios are included in the standard profile:
| Scenario | Connections | Description |
|---|---|---|
| Latency_100_Connections | 100 | Low-concurrency baseline measurement at full thread count. |
| Latency_1K_Connections | 1,000 | Medium-concurrency measurement at full thread count. |
| Latency_5K_Connections | 5,000 | High-concurrency measurement at full thread count. |
| Latency_10K_Connections | 10,000 | Very high-concurrency measurement at full thread count. |
| Latency_100_Connections_Thread/2 | 100 | Low-concurrency measurement at half the logical core count. |
| Latency_1K_Connections_Thread/2 | 1,000 | Medium-concurrency measurement at half the logical core count. |
| Latency_5K_Connections_Thread/2 | 5,000 | High-concurrency measurement at half the logical core count. |
| Latency_10K_Connections_Thread/2 | 10,000 | Very high-concurrency at half the logical core count. |
| Latency_100_Connections_Thread/4 | 100 | Low-concurrency measurement at one quarter of the logical core count. |
| Latency_1K_Connections_Thread/4 | 1,000 | Medium-concurrency measurement at one quarter of the logical core count. |
| Latency_5K_Connections_Thread/4 | 5,000 | High-concurrency measurement at one quarter of the logical core count. |
| Latency_10K_Connections_Thread/4 | 10,000 | Very high-concurrency at one quarter of the logical core count. |
| Latency_100_Connections_Thread/8 | 100 | Low-concurrency measurement at one eighth of the logical core count. |
| Latency_1K_Connections_Thread/8 | 1,000 | Medium-concurrency measurement at one eighth of the logical core count. |
| Latency_5K_Connections_Thread/8 | 5,000 | High-concurrency measurement at one eighth of the logical core count. |
| Latency_10K_Connections_Thread/8 | 10,000 | Very high-concurrency at one eighth of the logical core count. |
Workload Metrics
The following metrics are examples of those captured by the Virtual Client when running the Nginx workload. Latency values are normalized to milliseconds by the parser regardless of the unit reported by Wrk (nanoseconds, microseconds, milliseconds, or seconds).
| Tool Name | Metric Name | Example Value | Unit |
|---|---|---|---|
| Wrk | latency_p50 | 1.234 | milliseconds |
| Wrk | latency_p75 | 2.456 | milliseconds |
| Wrk | latency_p90 | 3.678 | milliseconds |
| Wrk | latency_p99 | 8.901 | milliseconds |
| Wrk | latency_p99_9 | 15.432 | milliseconds |
| Wrk | latency_p99_99 | 20.987 | milliseconds |
| Wrk | latency_p99_999 | 30.123 | milliseconds |
| Wrk | latency_p100 | 45.678 | milliseconds |
| Wrk | requests/sec | 25432.56 | requests/sec |
| Wrk | transfers/sec | 312.45 | megabytes/sec |
| Wrk2 | latency_p50 | 1.234 | milliseconds |
| Wrk2 | latency_p75 | 2.456 | milliseconds |
| Wrk2 | latency_p90 | 3.678 | milliseconds |
| Wrk2 | latency_p99 | 8.901 | milliseconds |
| Wrk2 | latency_p99_9 | 15.432 | milliseconds |
| Wrk2 | latency_p99_99 | 20.987 | milliseconds |
| Wrk2 | latency_p99_999 | 30.123 | milliseconds |
| Wrk2 | latency_p100 | 45.678 | milliseconds |
| Wrk2 | requests/sec | 25432.56 | requests/sec |
| Wrk2 | transfers/sec | 312.45 | megabytes/sec |
| Wrk2 | uncorrected_latency_p50 | 1.567 | milliseconds |
| Wrk2 | uncorrected_latency_p75 | 2.789 | milliseconds |
| Wrk2 | uncorrected_latency_p90 | 4.012 | milliseconds |
| Wrk2 | uncorrected_latency_p99 | 9.345 | milliseconds |
| Wrk2 | uncorrected_latency_p99_9 | 16.789 | milliseconds |
| Wrk2 | uncorrected_latency_p99_99 | 25.678 | milliseconds |
| Wrk2 | uncorrected_latency_p99_999 | 35.123 | milliseconds |
| Wrk2 | uncorrected_latency_p100 | 50.456 | milliseconds |