We have an environment with maybe 150 users. The users have thin clients and connect to various terminal servers. We just replaced all of the old server 2008 terminal server vms with nice new server 2019 terminal server vms, but many of the users are complaining about slowness and general lag. It became apparent that the users complaining about performance are always on our most heavily utilized terminal server vms, the ones with around 30 users.
We have, at the most, 30 users on a single terminal server vm. They have more than enough RAM allocated with 64-96 GB depending on the department, and 20 vCPUs. According to task manager performance tab, cpu utilization never really goes over 50%, nor does RAM. With 20 vCPUs, HyperV manager reports that each vm has access to 3 of the 4 physical processors, and so 24 cores, 48 threads.
The hosts are PowerEdge R820's and R910's with 4x Xeon E5-4650's, with 250-400GB physical memory.
I come from a long history of ESXi environments, so I'm wondering if it's something I'm not configuring properly with HyperV, or in windows itself. I've done some reading on what exactly vCPU's are, how the number of allocated vCPU's affect VM performance, and how allocating vCPUs is not the same thing as allocating physical cores. But I know there are organizations out there who have many many more users per terminal server, something just doesn't seem right.
Is there anything that you know of from past experience or otherwise that you'd suggest I check or look into?