Back to Blog

Try n8n free for 10 days

After trial, plans start from $7/mo. No charge until day 11.

n8nn8n queue moden8n performancen8n scalingn8n hosting

n8n Running Slow? Queue Mode Setup Guide to Fix Performance in 2026

n8nautomation TeamJuly 17, 2026

If your n8n instance has started feeling sluggish — workflows queuing up, the editor taking seconds to respond, or automated tasks failing because they timeout — you are not alone. The question "how to make n8n run faster" is one of the most common searches in the community, and the answer almost always points to one thing: queue mode. This guide walks you through exactly what queue mode is, when you need it, and how to set it up — whether you run your own server or prefer a n8n managed hosting solution that handles the complexity for you.

What Is Queue Mode in n8n vs Regular Mode?

Before we dive into setup, it helps to understand the two execution modes n8n offers and why one dramatically outperforms the other at scale.

Regular Mode (Single-Process Execution)

In regular mode, n8n runs everything inside a single Node.js process. The editor, the webhook listeners, and every workflow execution all share the same memory and CPU. This works fine when you are running a handful of workflows a day, but as you add more automations, the bottlenecks become obvious:

  • Workflow A processing a large dataset blocks Workflow B from starting.
  • A stalled API call in one execution holds up the entire queue.
  • Webhook responses slow down because the process is busy executing workflows.
  • The editor itself becomes unresponsive during heavy execution loads.

Queue Mode (Distributed Execution)

Queue mode separates the n8n editor from the workers that actually run workflows. It uses Redis as a message broker to distribute execution jobs across multiple worker processes — potentially on different machines. Here is how the architecture works:

  1. n8n editor receives a trigger (webhook, schedule, etc.) and pushes a job to Redis.
  2. Redis queue holds the job until a worker picks it up.
  3. Worker instance pulls the job from Redis, executes the workflow, and writes the result.
  4. Multiple workers can run in parallel, each handling different workflows simultaneously.

The result is that your editor stays fast, failures are isolated to individual workers, and you can scale horizontally by adding more workers. This is the difference between a single cashier serving every customer and opening multiple checkout lanes.

3 Signs You Need Queue Mode for Your n8n Instance

Not every n8n user needs queue mode. If you run 5-10 workflows a day with small datasets, regular mode is perfectly fine. But here are three clear signs it is time to upgrade:

  1. Workflows timeout or fail during peak hours. If your scheduled workflows consistently fail around the same time each day, you are likely hitting concurrency limits. Regular mode runs all workflows in a single thread, so when multiple triggers fire simultaneously, some get dropped.
  2. The editor becomes unresponsive during execution. This is a dead giveaway. If you are waiting for the editor to respond while a workflow is running, your single process is overwhelmed. Queue mode offloads execution to workers, leaving the editor snappy.
  3. You need to run 10+ workflows concurrently. Regular mode can handle some concurrency, but beyond a handful of simultaneous executions, you will hit bottlenecks. Queue mode with multiple workers can handle hundreds of concurrent executions without breaking a sweat.

Tip: If you are unsure whether you need queue mode, check your n8n logs. Look for "Execution error" entries with messages like "Timeout" or "Connection refused." Recurring errors during overlapping execution windows are a strong signal.

How to Enable Queue Mode in n8n: Step-by-Step Setup

Enabling queue mode requires a few infrastructure changes. You will need a Redis instance, a PostgreSQL database (already recommended for production), and the ability to run multiple Docker containers. Here is the full setup process:

Step 1: Set Up Redis

Queue mode depends on Redis as the job queue. You can run Redis in Docker alongside your n8n instance:

docker run -d --name redis-n8n -p 6379:6379 redis:7-alpine

Make sure Redis is accessible from your n8n containers. For production, use a managed Redis service like Upstash or Redis Cloud for automatic backups and high availability.

Step 2: Configure n8n Environment Variables

Add these environment variables to your n8n Docker container or .env file:

EXECUTIONS_MODE=queue
QUEUE_HEALTH_CHECK_ACTIVE=true
QUEUE_BULL_REDIS_HOST=localhost
QUEUE_BULL_REDIS_PORT=6379
# Optionally add Redis password if set
# QUEUE_BULL_REDIS_PASSWORD=yourpassword

The key variable is EXECUTIONS_MODE=queue. This tells n8n to push executions to Redis instead of running them in-process.

Step 3: Run the n8n Editor Container

Start the main n8n container in queue mode. Note that this container will only serve the editor and API — it will not execute workflows:

docker run -d --name n8n-editor \
  -e EXECUTIONS_MODE=queue \
  -e QUEUE_BULL_REDIS_HOST=redis \
  -e DB_TYPE=postgresdb \
  -e DB_POSTGRESDB_HOST=postgres \
  -e DB_POSTGRESDB_DATABASE=n8n \
  -e DB_POSTGRESDB_USER=n8n \
  -e DB_POSTGRESDB_PASSWORD=password \
  -p 5678:5678 \
  n8nio/n8n

Step 4: Launch Worker Containers

Workers are separate containers that pull jobs from Redis and execute them. You can run as many as you need:

docker run -d --name n8n-worker-1 \
  -e EXECUTIONS_MODE=queue \
  -e QUEUE_BULL_REDIS_HOST=redis \
  -e DB_TYPE=postgresdb \
  -e DB_POSTGRESDB_HOST=postgres \
  -e DB_POSTGRESDB_DATABASE=n8n \
  -e DB_POSTGRESDB_USER=n8n \
  -e DB_POSTGRESDB_PASSWORD=password \
  n8nio/n8n worker

Notice the worker argument at the end. This starts the container in worker mode — it connects to Redis, waits for jobs, and executes them. To scale, simply run more worker containers with different names.

Step 5: Configure Concurrency

Set how many workflows each worker can execute simultaneously:

# In your worker container environment
EXECUTIONS_TIMEOUT=120
N8N_PAYLOAD_SIZE_MAX=16
# Control how many workflows a single worker can run at once
# (default is 1, meaning sequential execution per worker)
N8N_CONCURRENCY_PRODUCTION_LIMIT=5

With N8N_CONCURRENCY_PRODUCTION_LIMIT=5, each worker can run up to 5 workflows in parallel. If you have 3 workers, that is 15 concurrent executions.

Note: Setting concurrency too high can overwhelm your worker's CPU and memory. Start with N8N_CONCURRENCY_PRODUCTION_LIMIT=3 and monitor your server resources. Increase gradually as you see how your workflows perform under load.

Docker Compose Setup for Production Queue Mode

For a more maintainable setup, use Docker Compose to define all services in one file. Here is a production-ready configuration:

version: '3.8'
services:
  redis:
    image: redis:7-alpine
    restart: always
    volumes:
      - redis-data:/data

  postgres:
    image: postgres:15
    restart: always
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: securepassword
      POSTGRES_DB: n8n
    volumes:
      - postgres-data:/var/lib/postgresql/data

  n8n-editor:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=securepassword
      - N8N_CONCURRENCY_PRODUCTION_LIMIT=10
    depends_on:
      - redis
      - postgres

  n8n-worker-1:
    image: n8nio/n8n
    restart: always
    command: worker
    environment:
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=securepassword
    depends_on:
      - redis
      - postgres

  n8n-worker-2:
    image: n8nio/n8n
    restart: always
    command: worker
    environment:
      - EXECUTIONS_MODE=queue
      - QUEUE_BULL_REDIS_HOST=redis
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=securepassword
    depends_on:
      - redis
      - postgres

volumes:
  redis-data:
  postgres-data:

This configuration gives you two workers from the start. To scale up, add more n8n-worker-X services. Each worker independently pulls jobs from the Redis queue, so adding more workers directly increases throughput.

Queue Mode with Managed Hosting: Skip the Redis Setup

Setting up queue mode yourself requires maintaining Redis, PostgreSQL, multiple Docker containers, and monitoring everything for failures. If you find yourself spending more time managing infrastructure than building automations, a low cost n8n hosting solution like n8nautomation.cloud handles all of this for you.

With managed hosting, you get:

  • Queue mode pre-configured — no Redis setup, no Docker Compose files, no environment variable tweaking.
  • Automatic worker scaling — your instance handles concurrent executions without you provisioning additional containers.
  • Built-in logging — our dashboard provides n8n execution logs so you can monitor performance and troubleshoot issues without SSH access.
  • Instant setup — your instance is ready in minutes at yourname.n8nautomation.cloud.
  • 24/7 uptime — we monitor your instance and handle server maintenance so you don't have to.

This is particularly valuable for agencies running self hosted n8n instances for multiple clients. Instead of managing a separate queue mode setup for each client, you get dedicated instances with queue mode built in, starting at $7/month.

Tip: If you are migrating an existing n8n instance to managed hosting, we provide a migration tool that transfers all your workflows in seconds. You just need to reconnect credentials on the new instance — no manual export-import needed.

Best Practices for n8n Queue Mode in 2026

Once you have queue mode running, follow these practices to keep your n8n instance running at peak performance:

  1. Monitor Redis memory usage. Redis stores pending jobs in memory. If your queue grows faster than workers can process it, Redis memory can spike. Set up Redis maxmemory policies and monitor with INFO memory.
  2. Use separate workers for different workflow types. If you have some workflows that are CPU-intensive (data processing, PDF generation) and others that are I/O-bound (API calls, webhooks), consider running separate worker pools for each type. This prevents heavy workflows from blocking light ones.
  3. Set execution timeouts. Always configure EXECUTIONS_TIMEOUT to prevent runaway workflows from consuming worker resources indefinitely. A timeout of 120-300 seconds is a good starting point for most workflows.
  4. Use PostgreSQL over SQLite. Queue mode requires a database that supports concurrent connections. PostgreSQL handles this natively, while SQLite will cause lock contention. If you are migrating from SQLite, export your workflows and reconnect to a PostgreSQL database.
  5. Monitor worker health. Workers can crash or become unresponsive. Set up a health check endpoint or use Docker's restart policies to automatically recover failed workers. In managed hosting, this is handled automatically.
  6. Test your concurrency limits. Start with a low concurrency limit (3-5 per worker) and gradually increase. Monitor worker CPU and memory usage as you increase. If you see high CPU or memory pressure, add more workers instead of increasing concurrency.

Queue Mode vs Regular Mode: Cost Considerations

Queue mode requires additional infrastructure — at minimum a Redis server and the ability to run multiple containers. For a self hosted n8n setup, this means:

  • A VPS with enough RAM for both n8n and Redis (4GB minimum recommended).
  • Additional workers if you need to scale beyond single-server capacity.
  • Ongoing maintenance for Redis persistence, backups, and updates.
  • Time spent configuring, testing, and monitoring the setup.

For many users, the time and complexity of maintaining queue mode infrastructure outweighs the savings of self-hosting. This is where best n8n hosting providers like n8nautomation.cloud offer a compelling alternative — you get queue mode performance without the operational overhead, at a predictable monthly cost starting at $7.

The bottom line: if your n8n workflows are growing and you are hitting performance bottlenecks, queue mode is the solution. Whether you set it up yourself or choose a managed option, moving from regular to queue mode is the single most impactful change you can make to speed up your automation infrastructure.

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.