> For the complete documentation index, see [llms.txt](https://documentation.2pintsoftware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.2pintsoftware.com/stifler/3.1/operations-and-features/beacons.md).

# Beacons

## Overview

A StifleR Beacon is a lightweight Windows service that acts as a fixed measurement\
endpoint on your network. StifleR clients (specifically the elected Red Leader for\
a subnet) run iPerf3 bandwidth tests against the beacon to determine the maximum\
available throughput between that subnet and the beacon's location.

Deploy beacons on servers from which clients typically receive bulk content — for\
example, ConfigMgr distribution points, datacenter file servers, or cloud egress\
nodes. A beacon placed alongside your content source gives the most representative\
measurement of what clients actually experience.

Measurement results are stored per network group and feed directly into bandwidth\
throttling decisions. Instead of a hard-coded cap, StifleR can limit downloads to\
a configurable percentage of the measured maximum.

***

## How Measurements Work

### Scheduled measurements

The StifleR Service runs a continuous measurement loop:

1. Every **30 minutes**, it scans all network groups and queues any that are due for\
   &#x20;  a new measurement.
2. A network group is queued if **all** of the following are true:\
   &#x20;  \- A beacon is reachable from the group (see [Beacon Assignment](https://2ps.visualstudio.com/StifleR/_wiki/wikis/StifleR.wiki/168/Beacon-3.x-#beacon-assignment) below)\
   &#x20;  \- Beacon measurement is enabled at both the server level and the network group level\
   &#x20;    (see [Configuring a Beacon Server](https://2ps.visualstudio.com/StifleR/_wiki/wikis/StifleR.wiki?wikiVersion=GBwikiMaster\&pagePath=/configuration/configuring%20a%20beacon%20server))\
   &#x20;  \- The group has not been measured within the configured measurement interval (default: 6 days)
3. The StifleR Service instructs the best-connected client on that network group\
   &#x20;  (preferring 10 Gbps → 1 Gbps → 100 Mbps links) to run a measurement.
4. The client runs iPerf3 in reverse mode: the beacon sends data, the client\
   &#x20;  measures download throughput.
5. The result is stored as a maximum bandwidth figure on the network group.

### Ad-hoc measurements

Clicking **Measure now** on a network group in the dashboard triggers an immediate\
measurement. This bypasses the 30-minute schedule and takes priority over any queued\
scheduled measurements. The result appears in the Beacons table within a few seconds.

***

## Beacon Assignment

When the StifleR Service looks for a beacon to use for a network group, it resolves\
the assignment by walking the topology in priority order and returning the first match:

| Priority | Assignment type | Description                                      |
| -------- | --------------- | ------------------------------------------------ |
| 1        | Network group   | Beacon explicitly assigned to this network group |
| 2        | Location        | Beacon assigned to the parent location           |
| 3        | Area            | Beacon assigned to the parent area               |
| 4        | Default         | Beacon marked as the global default fallback     |

A beacon does **not** need to be marked Default unless it should serve network groups\
with no explicit assignment at any topology level. Assign beacons as close to the\
target groups as possible for the most representative measurements.

If no beacon is found via any of these levels, the network group is silently skipped\
until an assignment is made.

### Client-Side Requirement

The StifleR client agent must have the **Bandwidth Measurement** capability enabled\
in its feature set to accept and act on measurement requests from the server. This is\
enabled by default.

***

## What the Beacon Measures and Reports

The beacon itself does not run measurements — it is a passive iPerf3 server. It does,\
however, count measurements by monitoring its own iPerf3 process and reports the\
running totals (**Measures Started** and **Measures Completed**) to the StifleR Server\
with each heartbeat. These counters are visible in the dashboard under\
**Administration → Infrastructure Services**.

Measurement results are stored on the network group and visible in the\
**Network Groups** view, along with the date and time of the last measurement.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.2pintsoftware.com/stifler/3.1/operations-and-features/beacons.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
