What influences the load and performance of MT5 Servers?
There are lots of factors that can affect the performance of an MT5 Server. At Centroid Solutions, we have gathered our finding and will be discussing some of them in this article.
On the MetaQuotes’ MT5 system requirements, it states that “When databases grow, causing an increased load on the trading platform, even the initially recommended configuration may fail to cope with such load.”
However, apart from the growth of databases, there are other factors that can affect the performance of the MT5 Servers. Below are some factors that may also cause the server to slow down:
Number of symbols
An obvious factor that can impact the load of an MT5 Server is the number of symbols configured and actively streaming on the MT5 Server. As each symbol will receive a continuous stream of price updates (via a Data Feeder or a Bridge Gateway) that need to be processed and sent to the respective traders, the higher the number of symbols the higher the load on the server. Therefore, a server having a few hundred active symbols will have a significant lower load than a server with thousands of products.
Symbol price update frequency
In addition to the number of symbols on an MT5 Server, a maybe not so obvious or at least not thought about factor that can significantly influence the performance of a server is the price update frequency on the active symbols.
Price update frequency can vary greatly, from symbol to symbol and depending on the source (i.e. Liquidity Provider) of the product. There is a big difference between having a price frequency of 4-5 updates per second versus 40-50 updates per second – 10 times over. Therefore, the price update frequency can even make it such that MT5 Servers with fewer symbols may face a higher load than servers with more symbols.
This brings into focus the periods of high volatility, when the number of price updates of symbols increases significantly in a very short period of time. It is important to be aware of this, as in such situations the server will get a traffic burst, receiving and having to handle for example 50 updates per seconds instead of 10 updates per seconds (during calm market conditions). As per this example, the server will have to work 5 times (and maybe more) as hard to handle the price updates. In situations like this, it is important for the server not to fall behind in processing the price updates, in order to show and operate with the latest prices.
To further explain, in network communication, all the incoming messages are usually placed into a buffer (or queue) before being processed, and if this incoming buffer gets filled up, then new messages may get dropped, being missed or having to be re-sent to the server. This will cause price update latencies, with the server executing orders on old stale prices or stop showing prices altogether, which can potentially lead to significant financial loss for the broker.
Network speed and capacity
Another influencing factor is the network speed and capacity of the underlying infrastructure where the MT5 Server is being hosted. As explained already above the network and infrastructure plays an important role in the performance of the MT5 Server, and it has to be able to handle all the traffic both received by the MT5 Server and also from the MT5 Server (i.e. towards the traders, etc.) and especially in the situations of news events and market volatility, when the network will experience a significant increase of traffic. Otherwise, the pricing and trading on the MT5 Server will be negatively impacted (with traders not being able to receive up to date prices, or not being able to execute their orders, or the broker executing orders at wrong delayed prices being exposed to latency arbitrage, etc.).
The number of customer accounts also influences the load on the MT5 Server. However, not all accounts have the same effect on the server, i.e. accounts that are not connected most of the time or do not place trades frequently add hardly any load. However, the ones that may affect the performance of the MT5 server are:
- The accounts that are consistently active, connected to the MT5 Server, and actively receiving the price update stream, especially if they receive a large number of symbols;
- The accounts that are constantly trading, i.e. customers who are high frequency trading or using expert advisors to make continuous changes to their orders, adjusting SL/TP levels, order entry prices and sizes, etc. Such actions add load to the MT5 Server, with many operations having to be performed by the server.
Having a large number of active orders (such as stop loss, take profit, limit orders, etc.) may affect the performance of the MT5 Server, as the server will need to constantly carry out checks, on each and every new price update received on every symbols, to ensure these orders are triggered and handled accurately, at the right moment and price. Also changes to these orders requires the server to rearrange its internal lists and keep track correctly of all pending actions.
Server-side plugins can add a significant load to the MT5 Server, depending on the purpose and actions handled by each such plugin, as it requires resources from the MT5 server to handle such operations. Therefore, it is important to understand what operations each plugin does and test such plugins before adding them to a live environment.
In essence, the most important factor that can influence the load is to understand on which actions will the plugin need to trigger and perform a check. For example, if a plugin will need to perform a check on each and every price update (i.e. checking the margin levels of accounts), then that will obviously add significant load, much more load then in the case of taking an action on every new order being executed. Therefore, it is important that the plugins are built properly, using optimized logic in order to not perform checks excessively, or on the wrong actions, adding unnecessary load to the MT5 Server.
News events and volatile market conditions
News events and periods of high market volatility are one of the most critical moments for trading and therefore for the trading infrastructure (i.e. MT5 Server and related components) of a broker. It is during these events that the performance of the MT5 Server must be adequate or otherwise it will lead to significant negative impact on a broker’s reputation as well as financial loss.
As we have seen, each of the previous influencing factors can have a significant impact on the MT5 Server. Well, during a news event, all the above factors will come together at the same:
- The symbols price update frequency will increase exponentially
- The network traffic will be much higher
- The number of connected and active accounts will be more than usual
- The number of orders and order changes (from expert advisors) will increase exponentially
- The actions of some server-side plugins will greatly increase in frequency
This will have a cascading effect on the load of the MT5 Server, as some of the factors will also influence each other. For example, the more price updates, the more order changes expert advisors will request, and the more the MT5 Server will need to handle, as well as the more checks plugins will perform, etc.
Therefore, it is not sufficient for the performance of the MT5 Server to be fine during normal market conditions, the MT5 Server must have the capacity to handle ten times or more load successfully in order to cope with financial news events situations.
In general, it is very difficult to quantify which features and plugins may require resources from the MT5 Server, as some loads may also be unknown. Also, there are many changes that are performed on an MT5 Server setup, with the customer base continuously changing and growing, different traders changing and switching the EAs they are using, additional plugins and features being rolled out to cater to customer demand, etc. Therefore, it is important that the MT5 Server is hosted on a suitable hardware server and infrastructure, and it is essential that the server is tightly monitored, and regular maintenance is required to ensure smooth operations.
Brokers should strive to find hosting solutions that have been tailored for financial trading, based on industry expertise, and purpose built to have the capacity to handle the particular requirements of the MT5 Servers as well as the flexibility to grow in case if additional resources are required. And as part of the solution custom monitoring should be in place, to track all important load parameters and be able to proactively make adjustments when needed.
Find out more from Centroid Solutions
One of Centroid’s core solutions is the Hosting and network infrastructure solution, Centroid Hosting. If you’d like to find out more about our technology solutions, please fill in the Contact us form or email us on [email protected] to find out more.