When you need to test how your system handles a sudden spike in concurrent traffic -- such as a flash sale or a scheduled event -- you can use a rendezvous point to synchronize virtual users. Requests accumulate at the rendezvous point and are held until a release condition is met, then all pending requests are sent at once.
How it works
Virtual users that reach the rendezvous point stop and wait. After the release condition is met -- either a time duration or a user count threshold -- all accumulated requests are released simultaneously.
| Behavior | Description |
|---|---|
| Single-fire | A rendezvous point triggers only once per stress test. After the accumulated requests are released, subsequent iterations pass through without waiting |
| Release rate | Although all pending requests are released at the same time, the actual arrival rate at downstream APIs depends on the number of virtual users and the read records per second (RPS) configured for subsequent instructions |
Prerequisites
Before you begin, make sure that you have:
Access to the PTS console
An HTTP API added to your stress testing scenario. For details, see HTTP APIs
Choose a release type
Before you add a rendezvous point, decide which release type fits your testing goal:
| Release type | Best for | How it works | Considerations |
|---|---|---|---|
| By Time | Time-based events (e.g., a flash sale starting at a specific moment) | Accumulates requests for a fixed duration, then releases them all at once | All users that arrive within the wait window are included, regardless of count |
| By Number of Users | Guaranteeing an exact number of concurrent requests | Accumulates requests until the specified number of virtual users are waiting, then releases them all at once | Make sure your test has enough virtual users to reach the threshold; otherwise the rendezvous point does not trigger |
Add a rendezvous point
Log in to the PTS console. Go to Performance Test > Create Scenario, and then click PTS.
Add an API and configure the basic information. For details, see HTTP APIs.
In the Business Session section, click the Add Instruction drop-down list and select Rendezvous Point.
Expand Rendezvous Point and set the Rendezvous Point Type to one of the following:
By Time
Accumulate requests for a fixed duration after the stress test starts, then release them all at once.
| Parameter | Description |
|---|---|
| Rendezvous Point Type | Select By Time |
| Wait Time | Duration in seconds. After this time elapses from the start of the stress test, all accumulated requests are released simultaneously |
Example: Set Wait Time to 300. All virtual user requests that reach the rendezvous point within the first 300 seconds are held, then released together at the 300-second mark.
By Number of Users
Accumulate requests until a specific number of virtual users are waiting, then release them all at once.
| Parameter | Description |
|---|---|
| Rendezvous Point Type | Select By Number of Users |
| Number of Users | The target count. When this many virtual users have accumulated at the rendezvous point, all their requests are released simultaneously |
Example: Set the user count to 50. The rendezvous point holds requests until 50 virtual users are waiting, then releases all 50 requests at the same time.
If the number of virtual users in your test is lower than the specified threshold, the rendezvous point does not trigger and the accumulated requests are not released. Make sure the total number of virtual users in your scenario is equal to or greater than the threshold.
FAQ
Does a rendezvous point trigger more than once?
No. A rendezvous point triggers only once per stress test. After the first release, virtual users in subsequent iterations pass through the rendezvous point without waiting.
What happens if the "By Number of Users" threshold is never reached?
If your test does not have enough virtual users to reach the threshold, the rendezvous point does not trigger. To avoid this, make sure the total number of virtual users is at least equal to the Number of Users value.
Does the rendezvous point guarantee that all requests arrive at the server at exactly the same time?
Not exactly. All pending requests are released simultaneously from the rendezvous point, but the actual arrival rate at downstream APIs depends on the number of virtual users and the RPS configured for subsequent instructions.