Hyper-V SQL poor performance over vswitch


Recommended Posts

I Recently changed a hyper-V host server because more RAM was needed and the last one was maxed out ...

However I took a slight down step in CPU, as in more powerful but older revision ..

I went from 2 x Intel Xeon E5 2620v3 with 128GB of RAM to 2 x Intel Xeon E5 2650v2 with 192GB RAM.

 

Both servers each have 2 NUMA nodes, numa spanning is enabled and was on the old one ....
Dynamic RAM is not used, it is all static.

 

 

We have a bespoke application running that uses an SQL DB back end.

 

We have a powerful server running Hyper-V and a few VM's

VM1 - SBS (32GB of RAM assigned) small business server 2011 (this is getting retired soon and mailboxes moved offsite)  Does DNS, AD etc too

VM2 - SQL This runs server 2012 R2, a small file share for the application, and SQL Express 2016 8GB RAM assigned, although SQL express cna only use 1GB of it

VM3 - 20gb RAM Terminal server where the application runs (usual 8-12 users, Office applications, chrome, and or application)

VM4 - Software router 2GB RAM

 

All VM's are connected via a private v-switch, VM4 connects to the internet with an external switch.

 

All VM's share 2 x Intel Xeon E5 2650v2 the Hyper-V server also hosts a few other VM's that aren't related to this scenario, total RAM is 192GB.

Storage for VM1 is SAN, VM's VM2-4 are on a local SSD Raid1 array, VM2 was on SAN too but I moved it to the SSD array to try and narrow down this problem.

 

The problem we am having is SQL transactions are very very laggy, when the application opens it populates a few drop down boxes, this used to take 3-4 seconds max, now it takes 30-60 seconds. Same with saving data to SQL and loading it throughout the application.  It appears to freeze for long periods of time 10-60 seconds occasionally more.

 

I have Broadcom NIC's so on the host I disabled VM Ques and disabled it on every virtual NIC too in the hyper-v configuration. 

If I copy a 2gb file between VM2 and VM3 in either direction I get great speeds 400 MB/s+ so the network performance is good in terms of data rate on the virtual 10GB Nics. Unlike with VMQ enabled where it was very slow

 

If I load SQL express onto VM3 directly and load the same data, point the application to that, it is fast again 3-4 second login time, instant saving, it runs fine on the same hardware resources as VM2 but on the same VM the users are actually running the application from, so no traffic over the vswitch.

TBH I'm tempted to just leave it like this but I only backup terminal servers once a month (no point backing up all the cache etc regular) and the other VM's are backed up twice daily.  I could put the TS into the twice daily backup schedule but it seems a bit overkill in terms of bandwidth and data storage.

 

I'm trying to figure out why its so laggy over the vswitch so I can move it back to VM2 .. any input / pointers / solutions will be gratefully received.

 

Thanks.

Link to comment
Share on other sites

This topic is now closed to further replies.