From VMware's docs:
Virtual NUMA topology is available to hardware version 8 virtual machines and is enabled by default when the number of virtual CPUs is greater than eight. You can also manually influence virtual NUMA topology using advanced configuration options.
So lets say I have a VM I have assigned 8 CPUs- its running Virtual NUMA. If I have an old non NUMA aware application running on the server would it not run very poorly or at the very least not as well as it would in non V-NUMA mode?
I assume V-NUMA is enabled like this because if an app vendor recommends 8 or more cores the software would most likely be NUMA aware. Or are there many applications with multi-core support baked in, but not NUMA support?
How would I identify a bottleneck caused by this possible issue?
Edit: Had a thought is there a metric in vCenter for monitoring remote NUMA calls?
The article: "NUMA Deep Dive Part 1: From UMA to NUMA" recommends "Intel Memory Latency Checker v3.5", a shorter article "VMware vSphere — Why checking NUMA Configuration is so important!" (from where I got that link) explains:
So configure your NUMA correctly, with sufficient memory for each CPU, before booting your VMM and allocating vNUMAs.
Under VMware you can use esxtop, type "m", "f", and "G" to enable NUMA information. Read more about esxtop here: YellowBricks and the ancient docs at VMWare: "Interpreting esxtop Statistics".
Once NUMA is tuned you can test that your allocation of vNUMA isn't calling on non-local memory using Intel's tool.