If MT5 optimization gets slower over time, the limit is usually not "MT5 being bad" but one part of the workload saturating first.
Quick answer: check whether your tester is limited by CPU, RAM, storage, agent count, or shared VPS contention. The bottleneck usually appears when agents stop staying busy, memory gets tight, disk access becomes inconsistent, or the workload has already outgrown a normal VPS.
For small jobs, a Windows VPS can be enough. For larger Strategy Tester batches, genetic optimization, or multi-symbol datasets, you need a cleaner way to isolate the real constraint before renting more hardware. This guide shows how to diagnose the bottleneck first and when it makes sense to move to a dedicated MT5 backtest farm.
MT5 Strategy Tester can use many cores well, but optimization is still shaped by data loading, agent scheduling, memory per agent, and the consistency of the server under load.
If every local or remote agent is fully busy and there are no long pauses, you may simply need more cores or higher sustained clocks. This is common in dense optimization runs with lightweight datasets.
Optimization slows down when each agent does not have enough memory for the symbol set, timeframe, and cached tester data. Then CPU usage falls even though the run feels "stuck".
Slow or busy storage can delay tick-data access, tester cache writes, and logs. NVMe helps most when many agents read and write at once.
More agents are not always better. Oversubscribing a VPS or a single server can create context switching, paging, and shared-cache contention that lowers real throughput.
A standard Windows VPS for MetaTrader may be fine for terminals and light testing, but shared CPU or storage makes heavy optimization less predictable than on a dedicated box.
A wide parameter space, large date range, too many symbols, or repeated full-data reloads can make even strong hardware look weak. Sometimes the bottleneck is the workload design, not the machine.
| What you see | Most likely bottleneck | What to verify | Typical next step |
|---|---|---|---|
| All agents stay busy and CPU remains high | CPU throughput | Per-core load, run time per pass, sustained clocks | Move to more cores or stronger dedicated CPU |
| CPU usage dips while memory stays close to full | RAM pressure | Memory usage, page file growth, agent restarts | Reduce local agents or add RAM |
| Runs are choppy with long waits between agent activity | Storage contention | Disk queue, tester cache placement, NVMe usage | Move tester data to faster storage |
| Performance varies a lot by time of day on VPS | Shared-host noise | Repeated benchmark consistency, CPU steal-like behavior | Use dedicated server instead of shared VPS |
| Adding more agents makes the total run slower | Oversubscription | Agent count vs memory and storage headroom | Lower agent count or split to remote nodes |
Use one repeatable test job and change one variable at a time. That gives you signal instead of random anecdotes.
That setup creates competing priorities. Your live MT4 or MT5 terminals want stability, while Strategy Tester wants CPU, RAM, and storage bursts. For traders running production terminals, a separate dedicated MetaTrader server is usually cleaner.
When the machine starts paging or disk queues rise, extra agents reduce throughput. A balanced lower count often finishes sooner than a crowded maximum count.
Ping matters for live execution, but not for local MT5 Strategy Tester speed. For optimization, look first at CPU, RAM, storage, and tester layout, not broker distance.
A small VPS for live EAs and a machine for MT5 remote agents solve different problems. Optimization needs headroom and consistency more than low-cost always-on terminal hosting.
For that case, start with a Windows VPS for MetaTrader.
A dedicated server for MetaTrader removes the common shared-VPS bottlenecks.
You already tuned a strong single node, but the queue is still too long. That is the point where a distributed setup with remote agents on an EPYC backtest farm makes more sense than trying to force one machine to do everything.
Describe your EA, symbols, date range, and current run time. We can point you to a balanced VPS, dedicated server, or MT5 backtest farm layout without guessing.