Link to home
Start Free TrialLog in
Avatar of Michael McGovern
Michael McGovernFlag for United States of America

asked on

Linux VM running WordPress/vNUMA/Performance issues

Hello,

We have 4 ESXi hosts with (2 socket x 4 cores per socket/256 GB RAM) for each, storage is running over a dedicated 1GbE network for iSCSI traffic to a Nimble Storage array.

I'm trying to convince my boss to virtualize our physical WordPress boxes running multiples of our client sites on CentOS 7. So we created 4 VM with 4 vCPU (4 socket/1 core) and 32GB of RAM per VM to fit in 1 NUMA node for optimal placement and performance. The underlying physical layers has 2 NUMA Nodes (4 cores and 128 GB of RAM per NUMA node). We did a load test and it failed miserably compared to the same load test to the physical boxes (2 boxes with 2 x 4cores and 64GB of ram w/ HT enabled in BIOS). During the load test on the VMs, it was pegging out the CPUs. The new VMs as well as the physical boxes are load balanced behind the F5. Could of questions:

1. If wordpress is a multi-threading application, how can I expose the HT to the VM, even thought I've set the numa.setcpu.preferHT=TRUE at the VM-level? Because when I run lscpu from linux I only see Thread(s) per core = 1, instead of 2.

2. Also, I know vNUMA automatically kicks in for VMs > 8 vCPU, however, I explicitly force it to use vNUMA by setting the numa.vcpu.min = 4 on the VM. But how can I confirm that it's working from the Guest OS?

3. Anyone here running multiple WP VMs serving up sites in VMware? If so, how is it configured at the VMware level as well as the Guest OS and/or WP application level to get the best performance.

Appreciate you inputs! Thanks.
Avatar of ArneLovius
ArneLovius
Flag of United Kingdom of Great Britain and Northern Ireland image

Wordpress is not an application in that sense, the applicationa are php, the web server (probably Apache) and the Database (probably MySQL).

You've gone from 8 cores to 4 cores, and 64 GB to 32 GB of memory, both of these are a reduction, so presumably the cores under vmware are significantly faster than the physical cores ?

From my experience of wordpress, cpu speed is usually the biggest influence on the performance of a single site.

Without knowing the actual specs of the esxi and physical hosts, and how you are testing, it is "difficult" for anyone to assist.

I would however suggest that if you were to configure the VM the same as the physical box, as opposed to half the memory and half the CPU) it would be a better test of the environment.
Avatar of robocat
robocat

Hyperthreading is not exposed to the guest OS, the threads are just extra cores for VMware, albeit not very performant ones. This can help or hurt performance, depending on the type of load.

I'm wondering how old your physical servers are, having only 4 core CPUs. Any recent enterprise server typically has 16 cores/CPU or more. Newer CPUs are also much more optimised for VMware, reducing the impact of virtualising an application.

What type of server and CPUs do you use?
What else is in the VMware environment as well?  Are you seeing any memory blooming or high cpu wait times?
ASKER CERTIFIED SOLUTION
Avatar of David Favor
David Favor
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Michael McGovern

ASKER

thanks! we ended up taking bare metal path for this project. thanks for your input and expertise.