How does the speed test on SpeedGeo work?

The speed test is one of the key functionalities of the SpeedGeo platform. The speed measuring applications on the SpeedGeo website (in the WEB browser and for Android and iOS) are designed to enable the measurement of the maximum Internet connection speed that can be obtained at a given moment.

During the test, we measure three basic parameters of the user's connection:

  • download - speed of downloading data from the Internet, expressed in megabits per second (Mb/s, Mbps),
  • upload - speed of sending data to the Internet, expressed in megabits per second (Mb/s, Mbps),
  • ping - the delay time in transmitting the smallest possible amount of data between the user and the server and back, measured in milliseconds (ms).

Measurement infrastructure

All SpeedGeo applications measure link parameters by simultaneously testing several independent servers in the measurement infrastructure. This eliminates various types of bottlenecks. Measurement servers are selected automatically based on network parameters and user's location as well as the current load on infrastructure elements. The user can independently select a server from a list arranged in order from the most optimal.

SpeedGeo's measurement infrastructure consists of over 200 servers, over half of which have 10 Gb/s and faster connections. Any operator or entity that has a server with appropriate parameters can add it to the SpeedGeo infrastructure. Our monitoring systems check the availability and resource load of each server and, if necessary, notify its provider automatically.

Measurement methodology

The measurement methodology is consistent with the ITU-T Q.3960 recommendation, but varies depending on the system platform and related technical possibilities:

  • WEB browser (HTML5) – measurement available in any operating system (Windows, macOS, Linux, Android, iOS and others); connections use TCP ports 443 or 9114; the PING test uses the WebSocket protocol and the data transfer speed test works using the HTTP protocol with secure TLS encryption,
  • Android or iOS app – connections by default via TCP ports 8080 or 9113, the measurement uses the TCP protocol directly.