Virtual Machine Sizing

Created by Paul Mendoza, Modified on Sun, 30 Apr 2023 at 05:28 PM by Paul Mendoza

Use this to figure out how big your virtual machine should be. 

History Pull / First Time Processing

You should multiply the numbers below by 4 for the first time you run a history scan. Then once all the history is processed you can reduce the size of VM.

Long Term Sizing

These are flexible depending on how frequently you want to check emails in mailboxes. This is our general guidance. 

  • RAM: Minimum 8GB. Calculation: ((# of Mailboxes / 16) X 1GB) = RAM Required
  • CPU: Minimum 4 cores, Calculation:  # of Mailboxes / 32 = CPU Cores Required
  • When processing history the first time you'll want to reduce the 32 core count number to 8 because you’ll need to run more concurrent threads.

Cores, not logical processors

Don't count logical processors as part of the core count. 

For example, if you have 8 cores and 16 logical processors, you'll never get your performance above 50% when looking at CPU usage based on logical processors. If you're at 50% you're using 100% of your cores.

The reason you get double the logical processors on some CPUs is because of Hyperthreading. 

From Stack Overflow:

The important part is that the two logical processors share the same Execution engine, meaning that the units that make up the core are not duplicated. Once, for example, the arithmetic unit is used by one thread, it cannot be used by the other thread. This prevents total parallelism, so does not allow two threads to execute in parallel instructions of the same type - one has to wait for the other to finish. 

has_hyperthreading_cores = true

If your server has hyperthreading on the cores then you need to set has_hyperthreading_cores = true in the appsettings.json file or environment variables. Otherwise SigParser will oversubscribe cores which will make performance worse.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article