Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Free Trial

Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.
SOLVED

RAM required for Mongo DB

Sahil
7 - Meteor

Hi Alteryx community,

 

Could you please let me know what percentage of RAM should be allocated to the Alteryx server? Is it necessary to allocate 50% of RAM to the Mongo-DB? Please help. Thank you

12 REPLIES 12
JoeS
Alteryx Alumni (Retired)

Hi @Sahil 

 

It may be best to reach out to your Alteryx contact for a deeper discussion, but typically MongoDB doesn't need a huge amount of RAM as it's used mainly as a meta store as opposed to a large data store.

 

I'd typically look at altering the RAM for the memory of Alteryx workflows. Depending on the spec of your machine and how many you want to run in parallel.

 

My formula for the amount of RAM to start with is:

 

(Available RAM / 2) / Number of Parallel Workflows

 

So if you were to have 32GB RAM machine and wanted to run 2 workflows simultaneously, I'd set the RAM limit to 8GB for each workflow.

 

This should then leave enough to run everything else on that machine; Windows OS, Gallery, MongoDB, Antivirus etc etc

 

That calculation would be for a single Alteryx server set up. Again if this isn't the case for you it's worth engaging in a conversation with your Alteryx contact.

Sahil
7 - Meteor

Hi @JoeS 

 

Thank you very much for the valuable inputs. My machine is 32 GB and wanted to run only 1 workflow at a time. I've used the same formula for RAM distribution as mentioned by you. But I'm still wondering that assigning 16 GB RAM to MongoDB is optimal approach to run very memory intensive workflows, say I'm processing 6 B records and doing transpose, & cross tab operations. In this case, shall I keep 16 GB RAM for Mongo DB and rest 16 GB RAM for workflow. Thanks

JoeS
Alteryx Alumni (Retired)

Hi @Sahil 

 

When you say about MongoDB, do you mean the MongoDB of Alteryx server? This isn't actually used for any processing.

Or is your data stored in MondoDB elsewhere?

 

The 16 GB of the workflow will be what's allocated to execute your workflow process, so the transpose and crosstabs. However, if you are looking to regularly process 6 billion records, I am not sure 16 GB would suffice and you may need a more powerful machine depending on what it is you are doing and what timelines you need to meet.

Sahil
7 - Meteor

Hi @JoeS 

 

By MongoDB, I mean MongoDB of Alteryx server, which i guess have information about schedules,users etc. I'm pulling records from AWS Redshift and doing transformation as per business rules and again pushing back to AWS Redshift. So, in this case-shall I keep 50% share of RAM for MongoDB, OS, etc.? Thanks

JoeS
Alteryx Alumni (Retired)

Got you, if it's just the MongoDB for Alteryx server, you don't need to worry about the RAM usage for that.

 

If you are using Redshift, I'd strongly recommend using the In-Database tools. This will push the compute down to Redshift and stop the overhead of moving the data.

 

Lastly, if you are only ever needing to run one workflow at a time, you could set it to 24 GB RAM. Leaving 8 GB to run the rest of the processes on the machine, however it'd be worth keeping an eye on things whilst you do this to see if you get any odd behaviour (memory pipe errors etc).

Sahil
7 - Meteor

Thank you very much @JoeS

JoeS
Alteryx Alumni (Retired)

You're welcome, feel free to reach out if you need anymore support, either on this thread or tagging me in another.

Sahil
7 - Meteor

Hi @JoeS 

 

Hope you're doing well.

Could you please help me by briefing me how to change the allocation of RAM to MongoDB, currently 16 GB is assigned to MongoDB and i want to reduce it to 8 GB for mongoDB. Thanks.

JoeS
Alteryx Alumni (Retired)

Hi @Sahil 

 

When you say you have set it to 16GB how have you done that, or know it's 16GB?