Skip to content

Commit 1a12b5b

Browse files
[Synthetics] Adjust private location scaling docs (#1544)
### Summary Adjust synthetics private location scaling docs to reflect known limits and simplify resource allocation section. --------- Co-authored-by: Arianna Laudazzi <[email protected]>
1 parent eda1118 commit 1a12b5b

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

solutions/observability/synthetics/monitor-resources-on-private-networks.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,21 @@ It is not currently possible to use custom CAs for synthetics browser tests in p
115115

116116
By default {{private-location}}s are configured to allow two simultaneous browser tests, and an unlimited number of lightweight checks. These limits can be set via the environment variables `SYNTHETICS_LIMIT_{{TYPE}}`, where `{{TYPE}}` is one of `BROWSER`, `HTTP`, `TCP`, and `ICMP` for the container running the {{agent}} docker image.
117117

118-
It is critical to allocate enough memory and CPU capacity to handle configured limits. Start by allocating at least 2 GiB of memory and two cores per browser instance to ensure consistent performance and avoid out-of-memory errors. Then adjust as needed. Resource requirements will vary depending on workload. Much less memory is needed for lightweight monitors. Start by allocating at least 512MiB of memory and two cores for lightweight checks. Then increase allocated memory and CPU based on observed usage patterns.
118+
### CPU and RAM requirements
119119

120-
These limits are for simultaneous tests, not total tests. For example, if 60 browser tests were scheduled to run once per hour and each took 1 minute to run, that would fully occupy one execution slot. However, it is a good practice to set up execution slots with extra capacity. A good starting point would be to over-allocate by a factor of 5. In the previous example that would mean allocating 5 slots.
120+
It is critical to allocate enough memory and CPU capacity to handle configured limits. Resource requirements will vary depending on simultaneous workload and monitor complexity:
121+
122+
**For browser monitors**: Start by allocating at least 2 GiB of memory and two cores _per browser instance_ to ensure consistent performance and avoid out-of-memory errors. Then adjust as needed.
123+
**For tcp, http, icmp**: Much less memory is needed, start by allocating at least 512MiB of memory and two cores _globally_. While this will be enough to run a large number of lightweight monitors, it is recommended to track the resource usage and adjust accordingly.
124+
125+
Example: For a private location expected to run 2 concurrent browser monitors and 100 HTTP checks, the recommended allocation is 2 * (2 GiB + 2 vCPU) + (512 MiB + 2 vCPU) => 4,5 GiB + 6 vCPU.
126+
127+
### Known limitations on vertical scaling
128+
129+
- A single private location will not scale beyond 10,000 monitors. Exceeding this number will result in agent degradation and inconsistent execution, regardless of the resources allocated.
130+
- Complex monitor configuration can disproportionately increase the private location policy size, leading to agent communication errors and degradation even if the limit mentioned above hasn't been reached.
131+
132+
If you're facing one of these scenarios, it is likely that the private location has grown too large and needs to be split into smaller locations, each alloted a portion of the original location monitors.
121133

122134
## Next steps [synthetics-private-location-next]
123135

0 commit comments

Comments
 (0)