Short answer: an n8n VPS can handle anything from a few file-heavy requests per second to hundreds of lightweight workflow executions per second, depending on the workflow and architecture. n8n reports up to 220 workflow executions per second on a single instance, while its 2025 queue-mode tests reached 72 webhook requests per second on a C5.large and 162 requests per second on a C5.4xlarge. Those figures are reference points, not capacity guarantees for your workflows.
Antihost offers VPS plans with one-click n8n, NVMe storage and a 14-day free trial.
The practical sizing rule is to benchmark your own workflow, watch CPU, memory, disk throughput, latency, and queue depth, then add concurrency limits, workers, or a larger VPS before the system becomes unresponsive.
As an Amazon Associate I earn from qualifying purchases.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesWhat the n8n benchmark numbers actually measure
There is no single “n8n VPS limit.” Throughput changes with the number and type of nodes, payload size, external APIs, execution overlap, database performance, and whether n8n runs in regular or queue mode. A webhook that validates a small JSON object is a very different workload from one that downloads, transforms, and uploads large files.
n8n’s documentation says a single instance can handle up to 220 workflow executions per second. This is an n8n-reported capability statement, not a promise that every workflow, VPS, or database will reach that rate. The word “execution” also matters: one incoming request can start an execution, but a workflow may trigger additional work or spend most of its time waiting on an external service.
#1 Best Overall
The more detailed 2025 benchmark used AWS C5 instances and compared queue-mode deployments under a single-webhook workload. It measured requests per second, latency, virtual users, and failures. The results are useful for understanding the effect of more compute and worker capacity, but they should not be read as a universal sizing chart.
Reference results from the published tests
| Deployment and workload | Throughput | Latency | Failures and test condition | What it shows |
|---|---|---|---|---|
| C5.large, queue mode, single webhook | 72 requests per second | Below 3 seconds | 0 failures at 200 virtual users | A smaller queue-mode instance can sustain substantial lightweight webhook traffic when intake and execution are separated. |
| C5.4xlarge, queue mode, single webhook | 162 requests per second | Below 1.2 seconds | 0 failures | More compute and parallel execution increased throughput and reduced latency for the same class of workload. |
| C5.4xlarge, queue mode, binary workload | 5.2 requests per second | Not stated | 0% failures across the binary test | Large-file processing is constrained by CPU, RAM, and disk throughput rather than lightweight webhook capacity. |
The 72 and 162 figures are requests per second in a specific single-webhook test, whereas the 220 figure is a broader documentation statement about workflow executions per second. They are related indicators, but they are not interchangeable measurements.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Why queue mode changes the capacity equation
In regular self-hosted mode, one n8n instance receives events and performs the workflow work. That arrangement is simple and can be effective for modest traffic, but incoming requests and active executions compete for the same process resources. A burst of long-running workflows can therefore make new webhooks slow or leave the user interface unresponsive.
Queue mode separates those responsibilities:
- Main instance: accepts incoming workflow information and places execution jobs into the queue.
- Redis: stores and coordinates queued jobs.
- Worker instances: pull jobs from Redis and execute workflows in parallel.
Because intake is decoupled from execution, a burst can be absorbed by the queue while workers drain it. You can add workers as execution demand grows without exposing additional webhook entry points. n8n also documents optional health and metrics endpoints, which can be used to monitor whether workers are alive and how the system is behaving.
Queue mode is not a magic speed switch
Queue mode improves resilience and gives you a scaling path; it does not make an undersized VPS capable of unlimited work. Workers still need enough CPU and memory, Redis and the database add their own requirements, and file-heavy jobs still read and write data through the same storage subsystem. If every worker is waiting on a slow disk or exhausting RAM, adding more workers can increase contention instead of throughput.
The benchmark illustrates this distinction. The C5.4xlarge queue deployment handled 162 requests per second for the tested webhook, but only 5.2 requests per second for the binary test. The architecture prevented failures in that test, yet it did not turn large-file processing into a lightweight workload.
Free tools Windows power users keep installed
One-click scans. No signup required.
How much RAM does self-hosted n8n need?
There is no safe universal RAM number because memory use is driven by the workflow graph and the number of simultaneous executions. n8n identifies several demand multipliers:
Rank #2
- Large JSON payloads held in memory.
- Binary data and large files.
- Workflows with many nodes.
- Code or Function nodes that create substantial in-memory objects.
- Manual executions, which can retain additional copies of data for inspection.
- Many workflows running at the same time.
A VPS that is comfortable for small API automations can run out of memory when the same deployment processes images, videos, archives, or large exports. Memory pressure may appear as slow executions, operating-system swapping, worker restarts, or out-of-memory termination. Increasing RAM is one remedy, but redesigning the workflow to stream, batch, trim unused fields, or move large intermediate data outside the execution context can reduce the underlying demand.
RAM sizing questions to answer before choosing a VPS
- What is the largest input payload, including decoded binary data?
- How many executions overlap during the busiest minute?
- Do Code nodes duplicate or transform entire payloads?
- Are manual runs performed while production traffic is active?
- How much memory must the operating system, database, Redis, and monitoring stack reserve?
Measure peak resident memory during a realistic load test rather than sizing from idle usage. Leave headroom for bursts; a configuration that works only when every request arrives evenly will fail when several large executions begin together.
CPU, disk, and database constraints
CPU is usually the visible limit for parsing, compression, encryption, Code nodes, and transformations. More worker processes can use additional cores, but only while the rest of the stack keeps up. If external APIs are the slowest component, adding CPU may not reduce end-to-end latency.
Disk throughput is especially important for binary workflows. Temporary files, execution data, logs, and database writes can compete for the same virtual disk. The published binary result—5.2 requests per second with zero failures on the C5.4xlarge queue deployment—demonstrates that a large compute instance can still process file workloads far more slowly than small webhook payloads.
The database stores workflow and execution information, while Redis coordinates queue-mode jobs. Their latency and connection capacity affect how quickly workers can claim and finish work. A VPS plan with fast CPUs but slow or saturated storage can therefore underperform a smaller, better-balanced system.
When to use regular mode and when to use queue mode
Regular self-hosted mode
Regular mode is the simpler choice when traffic is predictable, workflows are short, and a brief backlog is acceptable. It avoids the operational overhead of Redis and multiple worker processes. However, n8n does not impose a production concurrency limit by default in this mode. A sudden burst can start too many executions, causing event-loop thrashing and an unresponsive instance.
Queue mode
Queue mode is appropriate when webhook intake must remain responsive while workflows run for a long time, when traffic arrives in bursts, or when you need to scale execution horizontally. It requires Redis and worker instances, plus monitoring for queue depth, worker health, and failed jobs. The main instance can continue accepting work while workers process jobs at a controlled rate.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #3
Choose queue mode for an architectural reason—not simply because a benchmark table contains a larger number. For a low-volume installation, its extra services may add more maintenance than value. For sustained or bursty production traffic, the separation can prevent one expensive workflow from blocking every incoming request.
Controlling concurrency before the VPS becomes unresponsive
In regular mode, set the N8N_CONCURRENCY_PRODUCTION_LIMIT environment variable to cap simultaneous production executions. When the limit is reached, excess executions are queued instead of all running immediately. This protects the event loop and keeps the service responsive, at the cost of increased waiting time for jobs beyond the limit.
The limit should be based on measured resource use, not on the number of CPU cores alone. A workflow that consumes substantial memory may require a lower limit than a CPU-light API workflow. Conversely, a short, I/O-bound workflow may tolerate more concurrent executions if the database, network, and external APIs can sustain them.
Recommended Free Tools
A practical VPS sizing and scaling decision process
- Classify the workload. Separate lightweight webhooks and API automations from binary transfers, media processing, large exports, and Code-heavy transformations.
- Measure the busiest realistic load. Include the expected request rate, burst size, payload dimensions, external-service delays, and the number of simultaneous executions.
- Record resource peaks. Track CPU utilization, resident memory, swap activity, disk throughput and latency, database load, Redis health, execution latency, and failure rate.
- Set a safe concurrency ceiling. In regular mode, use
N8N_CONCURRENCY_PRODUCTION_LIMITso overload becomes a controlled queue rather than event-loop thrashing. - Increase the VPS size when one process is the bottleneck. Add CPU, RAM, or faster storage when measurements show that a single instance cannot meet the target even with a sensible concurrency limit.
- Add workers when execution parallelism is the bottleneck. Move to queue mode, keep intake on the main instance, and add workers incrementally while watching Redis queue depth and latency.
- Redesign the workflow when payloads dominate memory or disk. Reduce retained data, process files in chunks where possible, and avoid unnecessary copies in Code nodes.
- Re-run the test after each change. A new worker count or VPS size changes contention patterns; validate throughput and latency again rather than assuming linear scaling.
Signals that a larger VPS is the right next step
- CPU remains near saturation during normal peak traffic and the workload is compute-bound.
- Memory approaches the VPS limit, swap begins, or workers are killed.
- Disk latency rises while binary jobs are active.
- Database or Redis wait time is low, but workers still cannot execute quickly enough.
- Reducing concurrency protects stability but leaves an unacceptable backlog.
Signals that additional workers are the better next step
- The main instance accepts webhooks promptly but queued executions accumulate.
- Individual workers have spare memory and CPU, while one worker cannot drain the queue.
- Workflows are independent and can run in parallel without ordering requirements.
- Queue depth and execution latency improve when worker concurrency is increased in a controlled test.
How to benchmark your own n8n workflows
n8n publishes a benchmarking framework and recommends testing with the workflow you actually operate. A useful test has three stages:
1. Establish a baseline
Run the workflow on the proposed VPS with one controlled request at a time. Capture execution duration, peak memory, CPU usage, disk activity, database latency, and any external API wait. This identifies the cost of one execution before concurrency obscures the result.
2. Add concurrency gradually
Increase simultaneous requests in steps rather than jumping directly to the expected maximum. At each step, record throughput, p95 or equivalent tail latency if your load tool provides it, failure count, queue depth, and resource peaks. Stop when latency grows sharply, failures appear, or the operating system begins swapping.
3. Test bursts and long-running jobs
Sustained traffic and a sudden burst stress different parts of the system. Include overlapping executions, retries, manual runs, and the largest legitimate payloads. For queue mode, test the main instance and workers separately enough to determine whether intake, Redis, workers, storage, or the database is the limiting component.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #4
- Book - powershell for sysadmins: workflow automation made easy
- Language: english
- Binding: paperback
Use the published webhook figures only as orientation: 72 requests per second on C5.large and 162 on C5.4xlarge were achieved under n8n’s stated test conditions. Your workflow’s node mix, payloads, integrations, and storage can produce a materially different result.
Common failure modes and fixes
High latency with no recorded failures
This usually means the system is accepting work but waiting on CPU, memory, disk, the database, or an external API. Check which resource rises with latency, then reduce concurrency or address that specific dependency. A zero-failure test is not sufficient if users wait several seconds for every response.
Out-of-memory restarts
Inspect payload size, binary handling, Code nodes, manual execution copies, and overlapping runs. Reduce retained data or redesign the heaviest workflow; if the workload is valid and unavoidable, provision more memory and keep concurrency below the measured safe level.
Growing queue in queue mode
A rising Redis backlog means jobs arrive faster than workers finish them. Verify worker health, then determine whether workers are CPU-, memory-, disk-, database-, or integration-bound. Add workers only when the existing instance has headroom; otherwise move to a larger VPS or optimize the workflow.
Webhook intake becomes unresponsive
In regular mode, apply N8N_CONCURRENCY_PRODUCTION_LIMIT and test again. If the limit prevents overload but creates an unacceptable backlog, queue mode can separate intake from execution and provide a worker-scaling path.
Bottom line for choosing an n8n VPS
Use the benchmark as a range of reference conditions, not as a promise. Lightweight queue-mode webhooks reached 72 requests per second on C5.large and 162 on C5.4xlarge, while a binary workload on the larger instance reached only 5.2 requests per second. n8n’s documented ceiling of up to 220 executions per second on one instance reinforces the same point: workflow shape determines capacity.
Start with your own workload, enforce a concurrency limit before overload, and scale the component that measurements identify. Choose a larger VPS for a single-instance resource bottleneck; choose queue mode and more workers when independent executions need parallel capacity. For large files, prioritize RAM and disk throughput as carefully as CPU, because queue mode cannot remove the cost of moving and retaining binary data.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




