Operations 8 min read

Concurrency vs RPS: Which Load‑Testing Mode Boosts Service Performance?

This article compares the concurrency (virtual user) mode and the RPS (requests per second) mode of the Forcebot load‑testing platform, showing how each impacts TPS, TP99, and TP999 metrics through a product‑query tag case study, and explains when to apply each mode for optimal service performance.

JD Cloud Developers
JD Cloud Developers
JD Cloud Developers
Concurrency vs RPS: Which Load‑Testing Mode Boosts Service Performance?

This article explains how the two modes of the Forcebot load‑testing platform—Concurrency (virtual user) mode and RPS (Requests Per Second) mode—affect server performance indicators.

Background

Top internet companies require extremely low latency, with TP99 under 100 ms and even stricter TP999 requirements. To meet these goals, continuous optimization of interface logic and server performance is necessary. A new RPC interface for "product query tags" was developed, with external requirements of 200 QPS per machine and TP999 under 40 ms. Both Concurrency mode and RPS mode were used during testing, each showing different results. Concurrency mode helps determine the maximum number of simultaneous online users a system can support, while RPS mode measures overall throughput.

Concurrency Mode (Virtual User Mode)

Concurrency refers to the number of virtual users, i.e., the number of users online at the same time. It is suitable when you need to gauge how many simultaneous users each node of a business system can handle. The following diagram illustrates the request flow in Concurrency mode:

Key points:

The load generator sends requests continuously according to the configured concurrency, passing through network transmission and the Jeff thread pool before reaching the method logic.

The total duration of monitored performance metrics (TP99, TP999) consists of network transmission time, Jeff thread wait time, and method execution time.

The TPS metric represents the total number of requests sent per unit time.

Practical examples:

Forcebot monitor – Concurrent users: 1; Average TPS: 330; TP99: 4 ms; TP999: 5 ms

Umpkey monitor – QPS: 300; TP99: 1 ms; TP999: 1 ms

RPS Mode

RPS (Requests Per Second) measures the number of requests issued each second. It is a throughput‑oriented mode that directly evaluates system capacity from the server side by setting a fixed request rate, eliminating the need to convert concurrency to RPS.

The following diagram shows the request flow in RPS mode:

Key points:

The load generator sends requests simultaneously according to the configured RPS, passing through network transmission and the Jeff thread pool before reaching the method logic.

The total duration of TP99/TP999 consists of network transmission time, Jeff thread wait time, and method execution time.

The TPS metric reflects the number of requests issued in a single burst.

Practical examples:

Forcebot monitor – Concurrent users: 50; Average TPS: 47; TP99: 6 ms; TP999: 60 ms

Umpkey monitor – QPS: 50; TP99: 1 ms; TP999: 1 ms

Conclusion

Comparing data from both modes yields the following insights:

Although Concurrency mode uses fewer virtual users than RPS mode, it generates higher TPS and higher observed QPS on the server side.

When the server receives a higher QPS under Concurrency mode, its TP99/TP999 metrics are better than those observed under RPS mode.

The reason is that Concurrency mode continuously sends requests, leading to a steady stream of tasks for the Jeff thread pool, which reduces waiting time and improves latency metrics.

Both modes show that internal UMP monitoring (availability, TP99, TP999) outperforms the metrics captured by Forcebot, because the latter also includes network transmission and thread‑pool delays, as well as potential GC pauses.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

BackendLoad Testingperformance metricsRPS
JD Cloud Developers
Written by

JD Cloud Developers

JD Cloud Developers (Developer of JD Technology) is a JD Technology Group platform offering technical sharing and communication for AI, cloud computing, IoT and related developers. It publishes JD product technical information, industry content, and tech event news. Embrace technology and partner with developers to envision the future.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.