Skip to Content
DocsDashboardSystem AdminNetwork Performance

Network Performance

The Network page is your active network performance and observability center. It measures your server’s real-world download and upload throughput, round-trip latency, jitter, and packet loss — either on demand or automatically on a schedule — and keeps a history so you can spot degradation over time rather than guessing from a one-off test.

Find it in the sidebar under System > Network. A latest-result tile also appears on the System Dashboard and deep-links here.

Admin only

Network Performance is an administrator feature. Only users with the administrator role can open the Network page, run tests, or change the schedule. Network performance is a server-operator concern, not a per-user setting.

Nothing to install

The module uses librespeed-cli, which is installed as a base tool on every QuickBox server, plus a standard ping latency sub-test. There is no separate package to install and no qb command to run — it is a native dashboard feature.


Key features

On-demand testing

Run a test now with a live gauge and a streaming log feed as throughput and latency are measured

Scheduled testing

Enable automatic tests on a fixed interval so network performance becomes an ongoing operational signal

Historical trends

Time-series charts of download, upload, and latency across 24 hours, 7 days, 30 days, a year, or all time

Latest-result KPIs

At-a-glance cards for the most recent download, upload, ping, and jitter values

Exportable data

Export the history view as CSV or JSON, or save the trend chart as a PNG image

Rich result detail

Each test records the test server, ISP, and whether it was triggered manually or by the schedule


Running an on-demand test

  1. Open System > Network from the sidebar.
  2. In the Run Test Now panel, start the test.
  3. A live gauge and log feed show progress as the test runs — first the throughput measurement via librespeed-cli, then the latency sub-test.
  4. When the test completes, the latest-result KPI cards and the history chart refresh automatically with the new data point.

A test typically takes well under a minute. The throughput measurement reaches out to a LibreSpeed test server — librespeed-cli automatically selects the nearest node from LibreSpeed’s public, multi-region server network, so each server tests against a server close to it. A short ping burst measures latency, jitter, and packet loss in parallel.

What the test actually does

The download and upload figures come from librespeed-cli, which auto-selects the nearest server from LibreSpeed’s public server network and reports download, upload, and ping. Latency, jitter, and packet loss come from a separate ping burst (10 packets) so the values are richer than the single ping figure the speed test alone returns. If the latency sub-test cannot run, the throughput result still stands.


Reading test results

Every completed test is stored with the following fields:

FieldWhat it shows
Download
Measured download throughput in Mbps
Upload
Measured upload throughput in Mbps
Ping
Average round-trip latency in milliseconds
Jitter
Variation in latency (lower is more stable), in milliseconds
Packet loss
Percentage of ping packets that were dropped
Test server
Name and host of the nearest LibreSpeed server the measurement auto-selected
ISP
The internet service provider detected for the test
Trigger
Whether the test was started manually or by the schedule
Timestamp
When the test ran

The most recent values are summarized in the KPI cards at the top of the page.


Scheduled testing

Scheduled testing turns a one-time diagnostic into a continuous operational signal. In the Schedule panel you can configure:

SettingWhat it controls
Enabled
Whether automatic tests run at all. Disabled by default — no scheduled tests until you turn it on.
Interval (hours)
How often a scheduled test runs, in hours. Accepts 1 through 168 (a full week).
Retention (days)
How long results are kept before older entries are pruned. Set to 0 to keep history forever.

The schedule panel shows the last scheduled run and the next scheduled run so you always know where the cadence stands. Scheduled tests appear in the history alongside manual ones, tagged by their trigger source.

Settings are stored on the server

The schedule lives in the dashboard’s configuration database, so it persists across restarts. There is no cron entry or config file to edit by hand.


The history panel charts your results over time, with download and upload throughput on one axis and latency on another. Use the range picker to switch the window:

RangeUse it to
24 hours
See recent fluctuation and confirm a problem you just noticed
7 days
Spot a pattern across a typical week (the default view)
30 days
Track performance trends across a billing cycle
1 year
Review long-term capacity and seasonal patterns
All time
See the full recorded history

Load older entries with the load more control, and export the current view as CSV or JSON, or save the trend chart as a PNG image for reports or support tickets.


Interpreting results

A few things to keep in mind when reading the numbers:

  • Measured speed is usually lower than your advertised plan. Speed tests are best-effort against a remote server and are affected by routing, server load, time of day, and other traffic on your link. A measurement somewhat below your ISP’s headline rate is normal.
  • Watch trends, not single tests. One slow result during a busy period is noise. A sustained downward trend across many tests is a signal worth investigating.
  • Latency and jitter matter for streaming. Low, stable latency (low jitter) matters more for a smooth streaming experience than raw throughput once your download speed is comfortably above your content bitrate.
  • Packet loss should be near zero. Consistent non-zero packet loss points to a network problem worth raising with your host or ISP.

Troubleshooting

SymptomWhat it means / what to do
Test fails with a *librespeed-cli not found* message
librespeed-cli is installed as a base tool on every QuickBox server, so this is rare. If it appears, the tool may have been removed manually — reinstall it and run the test again.
Latency sub-test shows as unavailable
The ping burst could not complete (for example, outbound ICMP is blocked). The throughput result still stands; only the jitter and packet-loss figures are missing.
Measured speed looks far below your plan
This is often normal — see Interpreting results above. Run a few tests at different times and compare the trend before concluding there is a problem.
A test seems stuck
Tests have a built-in timeout and will fail cleanly rather than hang indefinitely. The result is recorded as failed with an error message you can read in the log.

Best practices

Do

  • Enable scheduled testing so you build a performance baseline instead of only testing when something already feels wrong
  • Choose an interval that fits your needs — every few hours is plenty for trend tracking without over-testing
  • Set a sensible retention period if you do not want history to grow forever
  • Export a CSV or chart PNG when opening a support ticket so the evidence travels with the request
  • Compare results across several tests before acting on a single slow reading

Don't

  • Don't run tests back-to-back in a tight loop — each test consumes real bandwidth and can briefly affect other traffic
  • Don't treat one slow result as proof of a problem; look at the trend
  • Don't expect measured speed to exactly match your advertised plan

FAQ

No. The module uses librespeed-cli, which is installed as a base tool on every QuickBox server, plus the standard ping tool. There is no separate package and no qb command — it is a native dashboard feature.
Speed tests measure best-effort throughput to a remote server and are affected by routing, the test server's load, time of day, and other traffic on your connection. A measurement somewhat below your headline plan rate is normal. Watch the trend across many tests rather than a single result.
librespeed-cli automatically selects the nearest server from LibreSpeed's public, multi-region server network, so a server in any region tests against a node close to it. This makes the measurement representative wherever your server is located across a globally distributed fleet. The chosen server name and host are recorded with every result.
A test consumes real bandwidth for the few seconds it runs, so there can be a brief impact while it is in progress. This is why scheduling at a sensible interval is recommended over constant testing, and why you should avoid running tests in a tight loop.
No. The Network page and all of its actions are restricted to administrators. Network performance is a server-operator concern.
Network Tracking is passive — it keeps vnStat counting bytes on the right interfaces so the bandwidth charts stay accurate. Network Performance is active — it runs speed and latency tests to measure how fast and responsive your connection actually is. They are complementary.
In the dashboard's configuration database on the server, so they persist across restarts. There is no cron entry or config file to edit by hand.
As long as you set the retention period to. Set retention to 0 to keep results forever, or to a number of days to prune older entries automatically.

Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server
Last updated on