|You are here: Duckware » TxRate
Works on ANY device (laptop/PC/etc) supporting Java
Sometimes a subtle re-position of the router (and/or antennas) can have a big impact (positive or negative) on throughput.Usage example: The provided "go.bat" file (for Windows) shows an example of how to use TxRate, which runs this command:
This causes packets to be sent to the main router at 192.168.1.1 for 10 seconds, with a popup "live" graph displaying results in real-time.
TIP: Replace "192.168.1.1" in the go.bat file with the ip address of the access point your computer is connected to (often this is your main router).Requirements: There must be a Java VM installed (see java.com for help) in order to run the Java JAR 'executable' file contained within the download ZIP.
To test if your computer has a Java VM installed, run the "java -version" command. If you see valid output, Java is installed (otherwise an 'unrecognized command' message means that Java is not installed).How it works: TxRate uses a non-blocking UDP socket and transmits packets to a destination you specify (just use the IP address of your main router). It then measures how fast the Wi-Fi driver accepts packets from the TxRate program. The rate at which packets are successfully written to the Wi-Fi driver should match the rate at which packets are sent over Wi-Fi. In effect, TxRate saturates Wi-Fi and measures the resulting speed. Source code is provided in the download ZIP file.
Note that an advantage of this technique is that only the device being measured needs to run the TxRate software (and that NO other device needs to run any software).First Hop Only: Please take note that TxRate intentionally measures the transmit speed of only the first hop. So if there are other hops before your main router (like if using a mesh network or a Wi-Fi extender), those other hops are NOT measured. See also the SpeedTest program.
Seen right is an example of TxRate running when the Wi-Fi PHY speed was 144.4 Mbps, and TxRate measured an overall throughput of 118.1 Mbps. This represents 82% of the PHY speed, which is a great result (and up the upper end of what is expected for Wi-Fi).A LOT of data can be transmitted: Please be aware that a LOT of data can be transmitted over Wi-Fi is a very short period of time -- because TxRate measures the Tx rate by saturating Wi-Fi. If Wi-Fi usage is not metered, this will have no impact. Just be aware of this issue in case your Wi-Fi usage is somehow 'metered'.
An example of the impact is seen right, where I turned on the microwave for a couple of seconds (see red highlight) in the middle of running a TxRate test.
An interesting bug found in Intel Proset Wi-Fi drivers: For unknown reasons, the Intel Proset Wi-Fi drivers will sometimes just discard all packets sent to the Wi-Fi driver for a very short period of time (a couple hundred milliseconds) -- in other words, packets written 'succeed', but are clearly instead just 'dropped on the floor'. This results in a huge throughput spike that is not real.
This bug was duplicated on multiple laptops and multiple (Windows) OS. The common thread was an Intel Proset Wi-Fi driver (AX201/AX210/etc).Not all routers are made equal: When I connect to a high end Wi-Fi 5 router ($250), I get a transmit rate hovering right around 580 Mbps. However, when I connect to a very low end Wi-Fi 5 router ($28), the transmit rate hovers right around 230 Mbps. In both cases, the routers are on the same channel, and are only feet away from the same test laptop. Router quality matters!
Donate: If you find this program helpful, please support it with a donation.
This document is Copyright © 2006-2024 Jerry Jongerius