SQL queries from VMs on the same host run slowly

Our client has an HP ProLiant DL360 Gen9 host (Windows Server 2012 R2), which hosts 17 running VMs. Now one of those VMs is a SQL server which is being accessed by applications, running on 4 (3 production and 1 test) terminal servers.

The problem is, that when we access data directly on SQL server it appears instantaneously, but when it is being accessed from terminal servers it takes very long time for it to complete. For example: a basic select command which returns all rows
(1.3 million) from production database ITEM table runs for ~1.5 minutes and from terminal servers for around 5 minutes.

Our SQL administrator confirmed that SQL server does not limit usage on any resource and has run performance checks, which turned out great.

What I’ve noticed is that ethernet usage on terminal servers is capped at either 20 ir 10 Mbps when I execute the query, however when I run multiple sessions with the same query, the ethernet session cap multiplies by the running session count.

Iperf and basic file copy between host, sql and application servers are all running from 1Gbps to 3Bbps.

When someone runs the same query or application from their computer, or if one of the terminal servers is exported to another computer and ran as a VM there, the transfer speed jumps to around 100 Mbps (they use a 100 switch for users).

VM queues are disabled, server disks are all SSD configured in RAID5.

I’ve been at this for more than a month, with both SQL and Network admins checking their ends, so I’m stuck with what seems like host(?) configuration issue. Maybe someone has some ideas.

Read full post . . . .

Go Que Newsroom Categories

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 46 bytes) in /home/content/36/8658336/html/goquecom/wp-includes/wp-db.php on line 1995