X
X
X
X
All systems operational · 200 Tbps+ DDoS protection active
Sign Up Sign In 08505574494

Speed Test Server Setup for ISPs and Operators

HomepageArticlesTest and Measurement ServersSpeed Test Server Setup: A Measurem...
Speed Test Server Setup: A Measurement Node Guide for ISPs

For an operator to credibly tell a subscriber "you have 1 Gbps", the measurement has to be taken from the right place: the closer the measurement node sits to the access network, the more the result reflects the subscriber's actual line — and the further away it sits, the more you are measuring transit and peering rather than the line itself. This is why operators, measurement and reporting companies and enterprise network teams run their own speed measurement nodes. This guide covers what a measurement node does, which metrics a defensible measurement requires, why a single TCP stream cannot fill a gigabit link, and what to look for when building the infrastructure.

What a measurement node is, and why it should be yours

A measurement node is a server with high-capacity connectivity, positioned opposite the subscriber or test client. The client sends and receives data against it to measure download speed, upload speed, latency and jitter.

The critical point: a measurement result reflects the weakest link between client and server. Even if the subscriber's line is 1 Gbps, if the measurement node sits in another country or is reached over a circuitous transit path, what you measured is that path's capacity — not the subscriber's access speed.

Running your own node has three concrete benefits:

  • Accurate diagnosis: When a complaint arrives, you can separate an access-network problem from a backbone one.
  • Consistent reporting: The same method, the same server and the same conditions produce data comparable across time periods.
  • Subscriber perception: When the server subscribers test against is close to them, the measurement reflects real experience and unnecessary complaint traffic drops.

What a proper measurement actually measures

A "speed test" produces one number, but several distinct quantities sit behind it, and conflating them makes the measurement misleading.

  • Throughput: Actual data moved in a given time, measured at the application layer.
  • Latency (RTT): Round-trip time. More important than throughput for gaming, VoIP and interactive applications.
  • Jitter: Variation in latency. It directly determines voice and video quality.
  • Packet loss: In TCP this means retransmission, and therefore reduced throughput.

How TCP-based measurement should be conducted is framed by RFC 6349. It does not stop at "how many Mbps" — it defines three additional metrics:

  • TCP Transfer Time Ratio: Actual transfer time over ideal transfer time. The closer to 1, the better.
  • TCP Efficiency (%): (Transmitted bytes − retransmitted bytes) / transmitted bytes × 100, showing the impact of packet loss on the transfer.
  • Buffer Delay (%): How much RTT rises under load versus the idle baseline, exposing bufferbloat in intermediate devices.

RFC 6349 also defines the test order: determine path MTU first, then baseline RTT and capacity during off-peak hours, then run throughput tests in both directions with properly sized buffers. Skip that order and the number you get is not reproducible.

The most common mistake: window size and BDP

The classic field scenario: the link is 1 Gbps, the test shows 200 Mbps, and everyone blames the network. The cause is usually TCP's own physics.

The maximum a single TCP stream can carry is bounded by:

max throughput = window size / RTT

The window size you need is the BDP (Bandwidth-Delay Product), calculated as bandwidth × RTT. RFC 6349 is explicit: send and receive socket buffers should be equal to or greater than the BDP.

A concrete example: on a 100 Mbps path with 5 ms RTT, a 16 KB window yields only 25.6 Mbps. The link is healthy; the window is the constraint.

On high-capacity, long-distance paths the numbers get more dramatic:

  • 1 Gbps, 100 ms RTT: BDP ≈ 12.5 MB → iperf3 -c server -w 12M -P 4
  • 10 Gbps, 100 ms RTT: BDP ≈ 125 MB → iperf3 -c server -w 100M -P 4

Parallel streams (-P) solve the same problem differently: four streams, even at 64 KB windows each, keep 256 KB of data in flight. This is also a useful diagnostic fork:

  • Single stream slow, parallel much faster → a per-flow limit (window size, per-flow QoS/policing, or ECMP hash imbalance).
  • Both hit the same ceiling → a shared limit (link capacity or a shaper on the path).
  • Parallel worse than single → endpoint CPU saturation.

One final warning: the operating system may silently cap the buffer size you requested. Always check the "socket buffer size" line in iperf3's output.

Peering and transit: the invisible layer behind the result

However powerful the measurement node's hardware, what determines the result is the path to it. Two concepts separate here: transit is buying reach to the whole internet from an upstream provider; peering is two networks exchanging their own traffic directly, usually across an internet exchange point (IXP).

Peering's value for measurement is fewer hops and a shorter path. Traffic from a domestic subscriber to a domestic measurement node, handed over directly at an IXP, sees lower latency and is insulated from transit congestion.

Turkey's infrastructure is mature in this respect. According to Internet Society Pulse data, Turkey has five active internet exchange points with 95 members in total — four in Istanbul and one in Ankara. 64% of networks are either IXP members themselves or customers of an IXP member, and 66% of the 1,000 most-visited websites in Turkey are reachable through an in-country server or cache.

The practical consequence: place your measurement node domestically on well-peered infrastructure and what you measure is genuinely access-network performance. Measure against an overseas node and international capacity and transit conditions enter the result.

Which measurement platform?

There is no single correct tool — it depends on the purpose, and most operators use several together.

Ookla Speedtest node

The interface subscribers already know and reach for on their own. Running your own node keeps their tests terminating inside your network. Valuable for brand perception and complaint handling, though you have limited control over the methodology.

M-Lab / ndt7

An open-source measurement platform. ndt7 uses TCP BBR where available and collects kernel-level statistics through TCP_INFO: throughput, RTT, packet loss and the congestion control algorithm in use. The right choice when you need visibility into how the measurement was made.

iperf3

The reference tool. Not for subscriber-facing tests but for engineering verification: window size, parallel stream count, TCP/UDP choice and duration are entirely under your control. It is the standard for acceptance testing and fault diagnosis.

FTP / HTTP download server

Preferred particularly for mobile network measurement, because the test client behaves like a standard application and field teams can measure without installing specialised tooling. We covered this approach in detail in our guide on the FTP test server for mobile network measurement.

Mobile network measurement and field testing

Unlike fixed-line measurement, mobile testing adds location and time as dimensions. For measurements taken in the same cell, at the same hour, across different operators to be comparable, the server side must stay invariant: same server, same file size, same protocol, same capacity.

If the server side is not constant, you cannot tell whether an observed difference is an operator difference or server load. That is why, for field measurement companies, the measurement server's consistency matters as much as its capacity — it must not be under other load at the moment of measurement.

On 5G the picture becomes even more sensitive; at high throughput, a single stream with default buffer settings runs out of headroom quickly. We covered that scenario in our guide on FTP-based throughput testing and QoS reporting on 5G networks.

Measurement server infrastructure: what to look for

A measurement server calls for a different profile than a normal web server. In priority order:

  • Port speed and traffic policy: Target at least double the speed you intend to measure. A monthly cap fills fast on a node measuring continuously — choose unmetered traffic.
  • No shaping: Get written confirmation that the provider applies no rate limiting on the link. Shaping on a measurement server invalidates the measurement outright.
  • CPU: At high throughput the bottleneck is often not the network but TCP processing. You need a current-generation processor with strong single-thread performance.
  • Storage: In FTP/HTTP-based measurement, file read speed can become the limit — choose NVMe M.2 SSD. Test files served from memory are better still.
  • Location and peering: Place the node in the country your audience is in, on well-peered infrastructure.
  • IP and reverse DNS: A static IP with a correct PTR record is needed for traceability of results.
  • Monitoring: Record the server's own CPU, memory, disk and interface statistics. If you do not know the server's load at the moment of measurement, you cannot defend the result.

Reporting and transparency

Measurement is as much a documentation activity as a technical one. Turkey's regulator (BTK) approaches broadband transparency by requiring that committed connection speed and actual speed information, fair usage policy application and service quality parameters are disclosed to subscribers accurately and kept current.

For whoever builds the measurement infrastructure, that means the data produced must be methodologically documented, reproducible and archivable. A report is defensible only if it records which server, which protocol, which window size, what time and which location the measurement used.

Practical recommendation: store server identity, test file size, protocol, parallel stream count, window size, client location, timestamp and raw results together with every measurement record. Producing aggregate statistics later is easy; recovering missing metadata afterwards is impossible.

Seven mistakes when building a measurement node

  • Measuring high speeds with default TCP settings: If the window is below BDP, you are measuring the buffer, not the link.
  • Testing gigabit with a single stream: On long-RTT paths one stream cannot fill the link — use parallel streams.
  • Not recording server load: If the server was busy during the test, the result reflects the server, not the network.
  • Measuring a domestic access network against an overseas node: Transit and international capacity contaminate the result.
  • Using a metered link: A continuously measuring node burns through a monthly cap and results degrade at month end.
  • Producing reports without metadata: A result whose method is undocumented cannot survive a dispute.
  • Treating one tool as absolute truth: Ookla, ndt7 and iperf3 measure different things differently; disagreement is methodology, not error.

Nubitro test and measurement servers

Nubitro offers servers configured for the profile telecommunications and measurement companies need: Istanbul, Turkey location, 1 Gbps unmetered traffic, NVMe M.2 SSD storage and AMD Ryzen 9 9950X processors. Because resources are assigned through hardware partitioning, there is no fluctuation from neighbour load during a measurement — the single most critical property for a measurement server.

Configurations scale from 2 cores / 4 GB RAM up to 12 cores / 64 GB RAM with 180 GB NVMe. For setups needing higher capacity, custom port speeds or multiple IPs, consider our dedicated servers.

When planning your measurement infrastructure, our VDS buying guide helps with sizing and location, and our new server security checklist covers configuration after handover.

Frequently Asked Questions

How much port speed does a measurement server need?

Target at least double the maximum subscriber speed you intend to verify. A 1 Gbps port is marginal for validating 1 Gbps subscriber lines and insufficient if multiple tests run concurrently. Choose unmetered traffic rather than a monthly cap.

Why can't a single-stream test fill the link?

A single TCP stream's speed is bounded by window size divided by RTT. If the window is below BDP, the stream spends time waiting for acknowledgements. The fix is either raising the window to BDP or using parallel streams.

Why do Ookla and iperf3 give different results?

They measure different things. Ookla measures application-layer experience over multiple connections; iperf3 measures raw transfer capacity with parameters you set. The difference is methodology, not error — always state which tool a report used.

Does virtualization cause problems on a measurement server?

On a shared-resource virtual server, yes — neighbour load during the measurement distorts the result. With reserved resources it does not. Verify genuine dedication by checking that %st (steal time) in top output stays near zero.

How large should the test file be?

Large enough for the transfer to move past TCP slow start and reach equilibrium. On high-speed links, small files measure only slow start and understate real capacity. Duration-based testing (30 seconds, for example) is also a sound approach.

How long should measurement results be retained?

At least as long as your reporting obligations and customer contracts require; in practice, keeping raw data together with its metadata is your only defence against a later dispute. Consult a legal advisor on retention periods and personal data implications.

Summary

  • A measurement result reflects the weakest link between client and server; node placement is part of the result.
  • A speed test produces one number, but throughput, RTT, jitter and packet loss must be assessed separately.
  • RFC 6349 defines three extra metrics: Transfer Time Ratio, TCP Efficiency and Buffer Delay.
  • Socket buffers should be equal to or greater than the BDP.
  • On a 100 Mbps / 5 ms path, a 16 KB window yields only 25.6 Mbps.
  • 1 Gbps / 100 ms needs roughly a 12.5 MB window; 10 Gbps / 100 ms needs about 125 MB.
  • Parallel streams are both a fix and a diagnostic tool.
  • Turkey has five active IXPs with 95 members; 64% of networks connect directly or indirectly.
  • A measurement server must have no shaping and unmetered traffic.
  • Without recording server load at test time, the result cannot be defended.
  • Archive every measurement's metadata alongside its raw result.
Powered by WISECP
💬
Top