1
votes

We provide a desktop ERP software to customers. This software is installed in Azure Virtual Machines. Each company has its own database file. I need to optimize the performance and I have some doubts I cannot find response. For example, for 2 companies:

1-Is it better to buy 2 Small VM (2 machines x 1 processor), or 1 Medium VM (1 machine x 2 processors)? or there is no difference since they are virtual?

2-Is there a difference between installing each database in a different virtual hard disk and installing them in the same disk? Since they are virtual hard disk, I am not sure if there is a performance improvement.

1

1 Answers

0
votes

In my experience, this decision is usually based on the security requirements of the application and tenants. If tenant A can reach the disk that has the DB for tenant b, this represents a significant security issue.

However, to answer the questions you've posed..

1) this depends on what you are after for the solution. 2 machines will increase your availability providing you've placed both machines in the same availability set. However, this does mean that the maximum resources available to a single process will be capped by the size of the smaller VM's. 2) If the two DB's are never access simultaneously, there should be little issue with putting them on the same disk. However, just like if they were on the same physical spindle drive, you will run into resource content if both DB's are being accessed at the same time. So putting them on separate disks helps reduce this bottleneck. However, you are limited to 2 data disks per core. So this option is not highly scalable unless you start scaling out multiple VM's.