I'm trying to compare the performance of two machines that I have. I have in both of the machines a database that was installed with the same settings. Both of the machines have the same amount of cpu(20Cores)/memory(65GB). Each machine is a vm in a dedicated esx with local disks.

I'm running the same operation in both of the machines but the results that I see in machine2 are far better then machine1 even though the hardware is the same. I was trying to find the root cause and I started from investigating the memory. I watched on the output of free -m on both of the machines and I saw that during the entire operation the buffers/shared/cached have very different values :

machine 1(avg) used - 42GB, buffers - 450MB, shared - 1.9GB, cached - 39GB

machine 2 (avg) used-58GB, buffers - 2.8GB, shared - 4GB, cached - 29GB,

From what I understood cached means that data that is recently read from disk will be saved in cache to save I/O which means that in machine1 reads should be faster because cached col is bigger(In contrary to my results).

Any idea what can explain the results ? What else can I investigate ?


You can't compare the machines so easily. You need to address several points:

  1. The same disks (in sense of speed, I/O ops, cache, disk partitioning) on host systems and VMs. With the same configurations, LVM, etc.
  2. Same software - you should run the same version of host OS, same patches, same settings
  3. Same VMs - this is most important in your case because every virtual machine will have a unique load.
  4. Moreover same VM can show different kind of load depending on time of day, operations running on this machine and so on
  • I didnt mention it but both of the vms were created dedicated for my test so I'm sure that only my operations are running there. Both of the vms have the same os version. – JeyJ Dec 17 '18 at 7:57
  • @JeyJ, the data for cache, buffers, etc is from VMs or from host machines? – Romeo Ninov Dec 17 '18 at 8:03
  • all the data is from the Vms – JeyJ Dec 17 '18 at 8:41
  • @JeyJ, do you have any other VMs on those hosts? – Romeo Ninov Dec 17 '18 at 8:46
  • nope, each vm is alone in the esx. – JeyJ Dec 17 '18 at 9:11

2.8GB of buffers is quite a lot. This almost certainly means that something does raw I/O on the block devices or bypasses the filesystem cache. This in turn means that either the drivers or whatever you're running on them is not the exact same.

  • Compare the version of the software that you are running and its configuration
  • Compare the kernel versions
  • Compare the hardware emulation of the VMs on the ESX part
  • May be worth comparing the actual hardware they are running on
  • May be worth comparing the kernels on the hosts and the ESX version

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.