There is no single “n8n VPS limit.” n8n reports that one instance can handle up to 220 workflow executions per second, but that is a capability statement rather than a promise for every automation. In n8n’s 2025 queue-mode tests, a C5.large handled 72 webhook requests per second with latency below three seconds and no failures at 200 virtual users; a C5.4xlarge handled 162 requests per second with latency below 1.2 seconds and no failures. File-heavy workflows performed very differently: the binary test on the C5.4xlarge reached 5.2 requests per second with 0% failures.
Antihost offers VPS plans with one-click n8n, NVMe storage and a 14-day free trial.
Those figures show why VPS sizing must start with your workflow, payload size, concurrency, and latency target—not with a generic “executions per second” claim. A small, lightweight webhook can be hundreds of times easier to run than a workflow that downloads, transforms, and stores large files.
As an Amazon Associate I earn from qualifying purchases.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallWhat the published n8n numbers actually measure
n8n’s documentation says a single instance can handle up to 220 workflow executions per second, with further scaling available by adding instances. The wording matters: it describes an upper capability observed by n8n, not a guaranteed rate for a particular VPS, database, workflow, or payload.
The more detailed 2025 benchmark used AWS C5 instances and compared queue-mode deployments. The tested workload was a single webhook, so it represents a relatively light request path. It does not predict the rate of a workflow containing large binary objects, expensive code, slow third-party APIs, or many database operations.
#1 Best Overall
| Test | Instance and mode | Result | Latency/failures | What it demonstrates |
|---|---|---|---|---|
| Single-webhook load test | AWS C5.large, queue mode | 72 requests per second | Below 3 seconds; zero failures at 200 virtual users | A smaller queue deployment can absorb substantial lightweight webhook traffic. |
| Single-webhook load test | AWS C5.4xlarge, queue mode | 162 requests per second | Below 1.2 seconds; zero failures | More compute capacity improved throughput and latency for the same type of request. |
| Binary workload test | AWS C5.4xlarge, queue mode | 5.2 requests per second | 0% failures across the binary test | Large files can make disk, memory, and CPU the limiting resources even on a much larger instance. |
“Requests per second” in these tests is tied to the benchmark’s webhook scenario. It should not be converted directly into a universal number of completed business workflows per second. A workflow may make several internal calls, wait on external services, or fan out into multiple executions.
How self-hosted n8n processes executions
Regular single-instance mode
In regular self-hosted mode, one n8n process receives triggers and runs executions. By default, production executions have no concurrency limit. That can appear efficient at low traffic, but an abrupt burst can start too many simultaneous runs, compete for CPU and memory, and leave the event loop unresponsive.
Recommended Free Tools
You can set N8N_CONCURRENCY_PRODUCTION_LIMIT to cap the number of production executions running at once. When the limit is reached, excess executions wait rather than continually competing for resources. This does not create more capacity; it converts overload into queueing, which is usually easier to observe and recover from than crashes or timeouts.
Queue mode
Queue mode separates intake from execution. A main n8n instance receives incoming workflow information, Redis stores pending jobs, and worker instances pick up and execute those jobs. Workers can process multiple executions simultaneously, and n8n also provides optional health and metrics endpoints for operating the deployment.
Rank #2
This architecture lets you add workers without placing all incoming webhook handling and workflow execution on one process. It also gives you a backlog to monitor: if arrivals exceed worker capacity, jobs wait in Redis instead of forcing the web process to execute everything immediately.
Queue mode is therefore a scaling architecture, not merely a faster setting. It introduces Redis, worker processes, deployment coordination, and additional monitoring. A single small VPS may not have enough CPU, RAM, or disk throughput to host the main process, Redis, database, and several workers comfortably.
Why workflow type changes VPS capacity
Lightweight webhook workflows
A webhook that validates a small JSON payload, performs a short transformation, and returns quickly is close to the kind of workload represented by the published throughput tests. For this class, CPU and event-loop responsiveness are often more important than raw disk capacity. External API latency can still dominate end-to-end response time even when n8n itself has spare CPU.
Large JSON and many-node workflows
Memory demand rises as payloads become larger, as a workflow carries data through more nodes, and as multiple executions overlap. Expressions and transformations can create additional copies of data. Manual runs can also retain execution data that would not exist in a minimal production path.
Code or Function nodes
Code-heavy nodes can consume considerably more CPU and memory than simple trigger-and-forward automations. A workflow that performs loops, parsing, encryption, image manipulation, or custom logic should be benchmarked separately from your ordinary webhook path.
Binary and file-heavy workflows
Binary data creates a separate capacity problem. Downloading, buffering, converting, and writing large files stresses CPU, RAM, and disk throughput at the same time. n8n’s binary test reached only 5.2 requests per second on a C5.4xlarge queue deployment, despite the same class of infrastructure handling 162 requests per second in the lightweight webhook test. Queue mode improved resilience, but it did not make a small machine suitable for unlimited file traffic.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →What to provision on a self-hosted VPS
There is no universal RAM minimum in the published figures. Choose resources from observed peaks and leave headroom for the operating system, database, Redis, logs, and deployment overhead.
- CPU: match sustained execution work. Code nodes, transformations, compression, and file conversion benefit from additional cores. Watch utilization during bursts, not only the daily average.
- RAM: size for the largest payload multiplied by simultaneous executions, plus n8n and its supporting services. Large JSON, binary data, many nodes, Code/Function nodes, and manual execution copies all increase demand.
- Disk throughput and space: file workflows can become storage-bound before CPU is exhausted. Use fast storage, monitor write latency, and reserve room for temporary files, execution data, and logs.
- Database capacity: execution history and workflow metadata add database work. A busy queue deployment should not allow database connections or I/O to become the hidden bottleneck.
- Network: webhook ingress and calls to external APIs require predictable bandwidth and low latency. A workflow waiting on a remote service cannot complete faster than that service responds.
- Operational headroom: avoid running permanently at the edge of memory or CPU. Spikes, retries, deployments, and backups need capacity that a steady-state average does not show.
How to choose between a larger VPS and more workers
| Observed problem | Likely constraint | First change to test |
|---|---|---|
| One process becomes unresponsive during bursts | Too many simultaneous executions or event-loop contention | Set N8N_CONCURRENCY_PRODUCTION_LIMIT; then measure backlog and latency. |
| Webhook intake slows while executions are running | Incoming work and execution compete in one process | Move to queue mode so a main instance handles intake and workers execute jobs. |
| CPU remains saturated with short, compute-heavy runs | Insufficient compute per worker | Use a larger VPS or add workers after confirming the database and Redis can keep up. |
| Memory rises until the process is killed | Large payloads, binary data, many concurrent runs, or retained execution copies | Reduce concurrency, redesign the heaviest workflow, or provision more RAM. |
| File jobs have high latency while CPU is moderate | Disk throughput or temporary-file I/O | Use faster storage, reduce simultaneous binary jobs, or separate file processing from ordinary automations. |
| Workers are idle but jobs still wait | Database, Redis, external API, or intake bottleneck | Inspect each dependency before adding more workers. |
Add workers when executions are independent, the queue has a sustained backlog, and the supporting database, Redis, network, and storage layers have spare capacity. Upgrade the VPS when each worker is already CPU- or memory-bound, or when the entire stack is competing for the same limited resources. Adding workers to a storage-bound binary workload can increase contention instead of improving throughput.
Rank #4
A practical sizing process
- Classify your workflows. Separate lightweight webhooks, scheduled jobs, API-heavy automations, code-intensive runs, and binary/file pipelines. Do not combine them into one average.
- Measure arrival patterns. Record normal rate, peak rate, burst duration, and the number of executions that can overlap. A five-minute burst requires different protection than the same daily volume spread over 24 hours.
- Define service targets. Decide the maximum acceptable webhook latency, how long a queued job may wait, and whether occasional retries are acceptable. A system optimized for throughput may not meet a strict interactive latency target.
- Start with bounded concurrency. In a single instance, set
N8N_CONCURRENCY_PRODUCTION_LIMITto a value your memory and CPU can sustain. Increase it gradually while watching latency, failures, and resident memory. - Load-test a representative workflow. Use n8n’s benchmarking framework with realistic payloads, node counts, external-service behavior, and concurrency. Test both steady traffic and bursts.
- Repeat for the worst case. Benchmark the largest JSON payload, the largest binary object, and the longest-running workflow separately. The slowest or most resource-intensive class often determines the VPS size.
- Check the whole dependency chain. Monitor n8n, Redis, the database, disk I/O, network latency, and external APIs. A green CPU graph does not prove that the system has spare database connections or storage bandwidth.
- Choose the scaling action. If one execution consumes all available resources, use a larger machine or redesign it. If independent jobs form a queue while each worker has headroom, add workers in queue mode.
- Retest after every architectural change. Queue mode, a new worker count, a different database, or a concurrency limit changes latency and failure behavior. Keep the same workload and acceptance criteria so results remain comparable.
Interpreting queue-mode performance
Queue mode can improve reliability under bursts because intake is decoupled from execution. That does not guarantee lower latency for every request: a job may spend time waiting in Redis before a worker starts it, and additional network hops and serialization add overhead. The benefit appears when the alternative is an overloaded single process that becomes slow or unavailable.
The published C5 results illustrate the hardware effect within the same queue architecture. The C5.large test delivered 72 requests per second with sub-three-second latency, while the C5.4xlarge delivered 162 requests per second with latency below 1.2 seconds. Those results support using a larger instance when the workload is CPU-bound, but they do not establish a linear scaling rule for other workflows.
Common failure modes and fixes
Event-loop thrashing and timeouts
When unrestricted production concurrency allows too many runs to start, response times can climb sharply and the n8n process may stop responding. Apply N8N_CONCURRENCY_PRODUCTION_LIMIT, then investigate which workflows consume the most CPU or memory. A lower limit may increase queue time while restoring predictable service.
Out-of-memory crashes
Look for large JSON or binary payloads, overlapping executions, Code/Function nodes, and manual execution data. Reduce overlap, split oversized workflows, avoid unnecessary data copies, or add RAM. Increasing concurrency on a memory-starved VPS usually worsens the problem.
Best Value
Binary jobs overwhelming storage
Monitor disk utilization and write latency, not just CPU. Limit simultaneous file jobs, use faster storage, clean up temporary and obsolete execution data according to your retention policy, and keep ordinary webhook workers from competing with file processing where possible.
Queue backlog that never clears
A growing Redis backlog means arrivals exceed completed work, but the cause may be workers, the database, Redis, storage, or a slow external API. Confirm the bottleneck before adding workers; otherwise you may multiply contention without increasing completed executions.
Misleading benchmark results
A test that uses tiny payloads and a fast local response can overstate production capacity. Include authentication, retries, real API latency, representative data sizes, and the same execution-history settings used in production. Record throughput, latency distribution, failure rate, CPU, memory, disk, and queue depth together.
What the benchmark means for your VPS decision
Use the published numbers as reference points, not as a sizing calculator. A lightweight webhook deployment may approach the documented high-throughput range on suitable hardware, while binary processing can be limited to single-digit requests per second even on a much larger instance. The correct VPS is the smallest machine that passes your own workload test with your latency and reliability targets, while retaining headroom for bursts and maintenance.
For a modest, predictable workload, start with one instance, bound production concurrency, and measure. Move to queue mode when intake and execution interfere or when independent jobs create a sustained backlog. Add workers when the queue is the bottleneck and each worker still has resource headroom. Choose a larger VPS or redesign the workflow when CPU, memory, or disk throughput is already saturated. This evidence-based sequence avoids paying for unused workers and avoids treating a headline executions-per-second figure as a guarantee.
Free tools Windows power users keep installed
One-click scans. No signup required.
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.




