VMWARE vs stand alone

  • I have no experience with vmware performance on a production database. 

    Could someone tell me why it’s better to go virtual using vmware esx on a dual processor 3.6 GHz instead of leaving it as a stand alone dedicated database server?   Why would you split up the CPU for two SQL Servers when you can take advantage of the processors for parallel execution of queries on one SQL Server? 

    Upper management is leaning this way when we are migrating from an old 4 processor machine to this dual processor.  This dedicated database server will use SAN.  

    Thanks in advance for your feedback!

     

     

  • The reasons for going with ESX server have nothing to do with performance. In a straight up match, performance is going to take a small hit on the virtual server side (even with ESX which has a stripped down kernel and minimizes its use of physical resources).

    The business reasons for going with ESX server are the following:

  • Consolidation of physical servers, therefore, lower overall TCO
  • Ability to rollback changes - like a SQL Server service pack gone bad
  • Ability to move virtual servers on the fly - useful in cases where the physical hardware has an issue
  • Those are some of the reasons. None of 'em are performance based.

    K. Brian Kelley
    @kbriankelley

  • Thanks Brian!

    What would happen to the apps(2 tier) that use pagefile on SQL Server?  I've read the virtual server only uses RAM.

  • The Windows server would continue to function as you'd expect it to. In other words, if you have a pagefile set, it still reads/writes to the disk. That behavior is unchanged. Remember, a VM simulates a physical box so as far as the guest OS is concerned, it looks like the read deal.

    Now ESX server has memory optimization mechanisms that allow you to overcommit memory. For instance, you may have 4 GB of physical RAM but it'll allow you commit more than that so far as VMs are concerned. The reason is ESX tracks actual use of memory and also has its own ability to use a pagefile (as a matter of fact, that's one of the steps you're supposed to do after installing ESX server: setup the swap file).

    K. Brian Kelley
    @kbriankelley

  • I ran a batch of stored procedures to compare performance and the vm was one minute longer in duration against the stand alone server.  After the compilation, the vm was 30 secs longer in duration after two more runs.

     

    Correct me if I’m wrong, but I don’t see the logic in doing vm when consolidating is not an issue.  I would still choose performance from the stand alone and not divide the server up into multiple sql servers using vmware. 

  • Your VMWare administrator can tweak the VM to have higher access to processors, memory, etc. but you're right, on identical hardware, you are losing something for the abstraction. You said divide up into multiple SQL Servers... that may be a reason right there, depending on your environment. If there is a need to segregate applications in such a way, VMWare does offer a cost savings over buying physical servers for each application. However, if there isn't a business need to do this, I'd have to agree with you.

    K. Brian Kelley
    @kbriankelley

  • We have tried several Virtualisation tool (not for DB) but as application server consolidation and all of them have got a lot of peformance issues.

    But what is your main reason to have a virtual server? Would a second instance not be fine?



    Bye
    Gabor

  • Have you tried ESX server? It is substantially better than VMWare's GSX server because it does not sit on top of an OS. We've actually been able to successfully use VMWare servers at disaster recovery testing. That's actually another reason to consider virtualization. If you bring up the virtual machine server, say ESX server or GSX server, then you can bring up any application hosted on virtual machines fairly quickly. You also eliminate issues due to dissimilar hardware and the like.

    K. Brian Kelley
    @kbriankelley

  • I recently went through a test of exactly this configuration. SQL Server on Windows 2003 on VMWare ESX running on a blade, with SAN disk support.

    I ran into many odd errors including problems with the install suddenly dying, problems with databases suddenly going "bad" while trying to migrate copies of our production databases (restore db, followed by log restores). Once I finally got the DB's installed and running, performance was OK for our application. Not great, not bad. Definitely passable, but for us not worth the headache. We're on standard servers for the time being.

    Steve G.

  • We've not experienced any issues with ours. How have the blades worked out for you overall?

    K. Brian Kelley
    @kbriankelley

  • Overall, blades have worked out really well, technically (political issues abound, but that's neither here nor there). We have a pile of servers on blades, doing everything from 200+ gigabyte file servers to basic print queues and everything in between.

    BTW, my guess as to why I had problems with SQL Server had to do with the SAN rather than anything with the VMWare technology directly. SQL Server really doesn't like remote drives.

    As for the future of blades, I'm really looking forward to the day when we have users on blades and your desktop is a keyboard, screen, mouse and an ethernet appliance. Would make managing user's "PC's" a whole lot easier. 🙂

    Steve G.

  • That future is here... it's called Citrix.

    K. Brian Kelley
    @kbriankelley

  • Citrix is simply too expensive.

    You have to by the whole MS Terminal server infrastructure, then again the "same" (I know it is not the same but anyway...) from Citrix.

    We have made a lot of calculations if it does make sense to implement Citrix for managing 3000 workstations or thin clients and the answer was NO. I'M not able to save any money an the restriction by not having a fully functional PC as workstation was just too hard for the users.



    Bye
    Gabor

  • Aye, Citrix is expensive. However, with remote users it may be the only answer. For us it was a simple business decision. One of our key apps is extremely data intensive. We have users over 256k lines, back when we deployed some were over 64k. We tested the app with and without Citrix. The app took 8 minutes to start up over a 128k line. Obviously that wouldn't be considered acceptable. With Citrix, including the login, we were up in about a minute and a half. Obviously the regular operations of the application were just as impeded by low bandwidth.

    Now if all your users are local, that may not be such a great solution because I admit the cost is heavy. Have you looked at Citrix-like solutions such as Tarantella?

    K. Brian Kelley
    @kbriankelley

  • No We didn't tried out Tarantella. But what do you think about pure MS based Terminal Service solution. We are using it because of our security requirements and also remote managing some 800 Wintel servers in an another country.

    The only think I dont know how MS TS farm would be sufficent when 2-3K users are running their daily apps (SAP, Office, CAD...) on it.



    Bye
    Gabor

  • Viewing 15 posts - 1 through 15 (of 16 total)

    You must be logged in to reply to this topic. Login to reply