Understanding about Parallel Workflow Executions and OOM Issues

Hi,

I’m new to work on n8n workflows and want to gain some solid understanding about the current implementation. I have few questions:

  1. How many processes n8n workflow server can process at a time (in parallel) ? I can’t see any limit.
  2. If there is no limit, then how can we avoid the OOM issues if we have a single pod running workflow server with a fixed allocated memory (2GB).
  3. Do we run All the Trigger nodes in Parent Process and the rest of pipleline (child nodes) as a child process ? Please help me understand the working of Main and Child Process in workflow execution.

Really looking forward to clear some basics here. Thanks in advance.

Hi @Shahtaj_Khalid, first of all, welcome to the community :tada:

n8n itself wouldn’t need much memory, so question 1 and 2 will depend almost entirely on how much memory your workflows require. So you would need to benchmark this on your end using real world data to get reliable data here.

As for some real world examples, I am sure other community members can share details about their setup if this would be helpful for you. Personally, I had n8n running on a small Raspberry Pi both at home and at my previous company (with 1 and 2 GB respectively iirc), saving me from some ETL and reporting tasks I’d otherwise would have done manually. So n8n can (and in many cases will) work fine with that kind of memory.

For your third question you might want to take a look at our documentation on scaling n8n. The available execution modes can be found here.

1 Like

I don’t know but it seems like if I have a secondary workflow inside one of my loops I have to wait for that secondary workflow to complete and return that output to the main loop. I don’t know how to tell the trigger workflow node not to wait for the return package.