The efficient execution and instant settlement of all trades made on the OANDA trading platform demands fast, reliable network performance. It’s a commitment we’ve made to our global client base and it remains a key focus of our engineering teams.
In the ongoing pursuit of faster real-time transactions we encounter interesting hiccups in our networking optimization efforts. For instance, the TCP/IP (transmission control protocol and Internet protocol) infrastructure that underpins the World Wide Web is chock full of legacy quirks implemented in days past that are designed to throttle network speeds and feeds.

Consider Nagle's algorithm: named after John Nagle, it is a TCP/IP optimization that improves network efficiency by reducing the number of packets that need to be sent over the network. It is a quaint artifact introduced when networks ran much slower than they do today. Enabled by default, Nagle’s algorithm holds small packets of data until they can be assembled into a larger packet. Put another way, it’s along the lines of keeping a bus at its station until it’s full of passengers before allowing it to speed away.
Most algorithms are designed to improve something. Perhaps Nagle’s helped in those seemingly ancient days when data transmission was prohibitively expensive. Nowadays, in our constantly connected and always-on financial world, leaving Nagle’s algorithm enabled by default actually hinders network traffic. Thus it can seriously impede the real-time integrity of online transactions.
This "bandwidth delay product" is turned on for most default TCP/IP settings. It imposes smaller buffer (receive and send) sizes to optimize for LANs (local area networks), but also applies these sizes to wide area networks (WANs), where it makes less sense. If the link is between New York and Tokyo and involves an important trading instruction, all of the information should be sent in one packet, to ensure the fastest execution. Multiple packets just lead to a delay.
OANDA discovered these default settings years ago. We disabled them and it brought an instant improvement to our network speed. Nagle’s algorithm may continue to cause much head-scratching for each new generation of software engineers trying to sort out why their network performance is so slow.
I bring these archaic settings up to show that the software engineer’s No. 1 motto should be, “Keep looking for what you do not know, and expect the unexpected.” As OANDA continues the push to make our trading system faster and more robust, we are always considering the unexpected.
Constant monitoring is a major factor in this exercise. We vigilantly test and monitor our equipment, Internet traffic, trade latency, order triggers, and other performance factors. If we identify something that is wrong, it is the first step in finding out what we do not know and what we need to do to fix it.
To that end, we’re in the process of a server hardware and network refresh as part of an initiative to overhaul our datacenter infrastructure and to reduce latency. We’ll detail these achievements in this space in future posts.


