-2

I have a 10 year old Dell Poweredge 2950 that will be replaced with a Dell Poweredge R820. Both of these machines are set up as a Virtual Machine Host Running Hyper-V. Both Operating Systems are Windows Server 2012 R2 Standard x64 Bit. I have MSSQL Standard database that has been virtualized and is currently hosted on the 2950.

I recently migrated MSSQL from the 2950 over to the R820 but noticed MSSQL queries are a lot slower on the new R820 machine. These queries are being executed locally from the server and the database is also local so, it is definitely not network related. When we run the query on the 2950, it takes about 1-2 seconds for results. When the same query is executed on the new R820 however, it takes about 4 seconds. I really think its a hardware issue since all of the settings are identically configured as its a virtual machine and the same OS.

Here are some hardware specs of both machines:

  • Dell Poweredge R820
    • Processor: Intel(R) Xeon(R) CPU E5-4620 0 @ 2.20GHz (2 Processors) @ 32 Cores
    • Ram: 56GB DDR3
    • 4 Intel SSD RAID-10 Config With Dell PERC H710P Adapter
    • Read Policy: Adaptive Read Ahead; Write Policy: Write-Back; Disk Cache: Enabled
  • Dell Poweredge 2950
    • Processor: Intel(R) Xeon(R) CPU X5450 @ 3.00GHz (2 Processors) @ 8 Cores
    • Ram: 8GB DDR2
    • 4 Seagate HDD 10K RPM RAID-10 Config With Dell PERC 6/i Integrated
    • Read Policy: No Read Ahead; Write Policy: Write-Back; Disk Cache: Disabled

Any ideas on what could cause a 2 month old machine with SSDs and a good Raid Controller card to run slower than a 10 year old machine? the R820 SHOULD be running circles over the 2950.

Cristian Ciupitu
  • 6,396
  • 2
  • 42
  • 56
John Nguyen
  • 109
  • 2
  • `I really think its a hardware issue since all of the settings are identically configured` - Your RAID controller policies are not configured identically. Have you tried setting them on the R820 to match the 2950 to see if that has any bearing? – joeqwerty Jun 10 '14 at 22:51
  • To be honest with you, A Dell Technician told me to leave the policies like that. The old raid controller does not have as advanced settings as the new one for example Disk Cache because the new card has a built in battery and that is suppose to help with I/O throughput significantly. I have not tried it yet but I feel like currently, that is the optimal configuration. Thats just my opinion. i can be very wrong. – John Nguyen Jun 10 '14 at 22:59
  • It may be optimal and the technician and your hunch may be correct. My point is that the settings are definitely different and the only way to know if they're the cause of the problem would be to set them on the R820 to match the 2950 and see if that has any effect, for better or worse. – joeqwerty Jun 10 '14 at 23:02
  • You have a very valid point however, I can not give that a try at the moment because the database is live and in production. When I do try and migrate the Virtual machine over to the new host again, that will definitely be one of my tests. – John Nguyen Jun 10 '14 at 23:05
  • Thank you for such quick replies Joe! Im making a list of things to test right now and copying the Raid Controller policies is included. Would you happen to have any other suggestions i should also try? I am also wondering if the new processor, at 2.20 Ghz, has any role in the slower performance as the old machine is 3.00 Ghz – John Nguyen Jun 10 '14 at 23:08
  • I'm not a hardware guru so I don't know enough about either server to tell you if the hardware is the cause of the problem. In theory it could, but I'd start with basic things that are easily tested, such as the RAID controller policies. You might consider contacting Dell. They have a tool called `DPACK` that can analyze both systems (the host and the VM's) under load and give you an idea of where the problem may lie. - http://www.dell.com/learn/us/en/04/campaigns/dell-performance-analysis-collection-kit-dpack – joeqwerty Jun 10 '14 at 23:13
  • I also am by no means a hardware expert either. I've also ran that DPACK tool before as Dell advised me to once in the past. The final results were inconclusive. Dell was not able to detect any source of bottleneck on neither machines that are in question. All in all, Dell told they cannot help because the machines are not putting out any errors and they both work fine. Dell ultimately pointed the finger at MSSQL software and that is where we left it at. – John Nguyen Jun 10 '14 at 23:19
  • 1
    Ugh, really? Check the specs on your processors. Can't do it right now ATM to be completely sure, but I'd bet money that your new server is going to be slower on any given (or most) single-threaded processes, but faster for parallelized loads, owing to having 4 times more processor cores, but each core being slower than the ones in your older server. (For future reference, this why it's generally a good idea to have a proper admin with hardware knowledge spec out the hardware you need for whatever workload you've got.) – HopelessN00b Jun 10 '14 at 23:21
  • I think you may be on to something HopelessN00b. I have MSSQL Standard which only allows a maximum of 4 cores to be utilized. – John Nguyen Jun 10 '14 at 23:24
  • I just noticed the new processor has a "Turbo Boost" Mode to allow the processor to go from 2.2 Ghz to 2.6 Ghz. Well, Thats what Newegg says but I'm not sure of the Dell Server BIOS will allow that. 2.6 Ghz is still slower than 3.0 Ghz but What I am looking for is to see if the query is a little more responsive. Thanks for all the great suggestions guys! Keep 'em coming if you got more! – John Nguyen Jun 10 '14 at 23:29
  • 1
    SQL Server Standard edition is limited to 4 *sockets* not 4 *cores*. Really consider getting some outside expertise to help here if this is a critical production database. – MDMarra Jun 10 '14 at 23:57
  • MDMarra, most websites I've been doing my research claims cores, not sockets. However, you are right; hardware is not my area what so ever and I really should have out sourced. This is a major lesson learned. During the time of my purchase, I was guided along with a Dell Technician and I was going with his recommendations and this is how where I am now. Thank you for pointing that out, I'm not a total newbie, but I also still have alot learn. – John Nguyen Jun 11 '14 at 00:10
  • Why would you look anywhere other than an official Microsoft source for this? It's 4 socket or 16 cores, whichever is lesser: http://msdn.microsoft.com/en-us/library/ms143760(v=sql.110).aspx – MDMarra Jun 11 '14 at 11:34

1 Answers1

4

It's almost like you could look for a side-by-side comparison of an Intel X5450 and E5-4620 CPU online and interpret the results!!

For your use case, virtualization is a convenience. You're definitely not maximizing the use of the new platform, but at least you're using a system that is current and still within its support cycle. In addition, the straight-ahead clock speed of the new CPU is far lower than that of the old CPU. This may impact single-threaded process performance.

I'd be looking at storage as well. Do you know the specific model(s) of the Intel SSD in use? SSDs can have different performance characteristics, and there's a level of optimization that can help, depending on your I/O needs.

Off the top of my head:

  • Tuning your Hyper-V parameters (I only know VMware, but I'm sure Microsoft has options)
  • If using an all-SSD array, you want to enable the FastPath functionality of your controller.
  • Use the right SSDs for the workload.
  • Understand that virtualization still carries some overhead,
  • Understand that a CPU with slower clock speed may impact certain CPU operations.
  • And sometimes, things don't behave the way they used to...
ewwhite
  • 197,159
  • 92
  • 443
  • 809
  • Thank you for your very informative reply! Awesome comparison website, Bookmarked. As plenty of others had suggested, the problem seems to be the slower CPU clock speed as SQL does not take advantage of the extra cores. I am leaning on towards this purchase: http://www.newegg.com/Product/Product.aspx?Item=N82E16819116937 I just need to make sure the server will handle Ivy Bridge. If Ivy Bridge is incompatible, then I am looking at this: http://www.newegg.com/Product/Product.aspx?Item=N82E16819117272 I would love to hear your opinion on whether this is better/worse – John Nguyen Jun 11 '14 at 00:17
  • 1
    I would not recommend buying other of those CPUs. I'd probably just accept the performance difference. If you DO purchase, use the **Dell** part numbers and CPU kit. Don't buy bare CPUs from Newegg (warranty, support and compatibility reasons) – ewwhite Jun 11 '14 at 11:28