VMware Cloud Community
larden
Contributor
Contributor

Multiple Virtual SCSI controllers?

Recently I have been creating alot of DB VM's and I was looking for performance ideas (no matter how minor). One idea I had was to add an additional scsi controller for the data and log luns (which in this case happen to be vRDM (yes I know there is really no performance gain using vRDM over VMDK)). Does this hold any water?

Would multiple Virtual SCSI controllers improve windows i/o performance, or am I adding some other overhead doing this?

VMware Rocks!

VMware Rocks!
Reply
0 Kudos
6 Replies
RParker
Immortal
Immortal

One idea I had was to add an additional scsi controller for the data and log luns (which in this case happen to be vRDM (yes I know there is really no performance gain using vRDM over VMDK)). Does this hold any water?

I don't know why people insist on using VM's for DB. As you have seen, the performance is abysmal. There are NO tweaks, no performance improvements, nothing you can do to improve the responsiveness or throughput. NADA, NIL, ZIP. DB were not designed for Virtual Environments, that's the bottom line. You need a physical server for DB, period.

You only have 1 path to the hard drive on the server. A Physical machine only has 1 physical SCSI controller, so adding more to a VM is pointless. You won't see any benefit. The only thing that will happen is extra overhead of another SCSI controller.

Virtual Environments make it easier to manage machines, but I believe in using the right tool for the job. VM's are not good tools for DB. And that's the only exception I make for VM's (other than AD/DC and DHCP, but those are minor). DB really need to be on a high end machine, keeping in mind you can run multiple instances of DB on the same machine, so if you get a big enough, powerful machine you can pretty much run ALL of your DB on 1 machine. Maybe you need 2, but we go back and fourth over using VM's for DB, and someone always complains that its not fast enough, there is a problem, people complain they are slow, etc.. then other Admins swear up and down there isn't a problem with DB on a VM, and somewhere the truth is there.

I say use VM's for that what they were designed, a low cost solution for consolidating machines, but they ARE NOT perfect solutions for HIGH I/O machines. If you want top notch performance (which is what DB are for) then use physical. If you want to cut corners and make due with VM's, then don't complain the performance is not adequate. Thats the long and short of it. There are NO substitutes for the best. The best for DB is physical hardware.

Reply
0 Kudos
larden
Contributor
Contributor

Thank you for your strong opinion.

I actually have been very successful with small database on vm's in fact we run our SAP db on a vm and it runs fine, although it is small. I cannot say that so far I have decided to virtualize a larger database and seen any performance issues. I was specifically wondering if having multiple scsi adapters makes sense, or if there will be a performance hit etc. There is no performance issues that we are seeing at all, I am looking to optimize it the best I can.

I attended a few sessions at VMworld regarding virtualizing SQL, Oracle and Exchange and the performance numbers I saw there seemed reasonable - IMHO

VMware Rocks!

VMware Rocks!
Reply
0 Kudos
RParker
Immortal
Immortal

There is no performance issues that we are seeing at all, I am looking to optimize it the best I can.

OK, I can understand that. sorry if I came across harsh, this is a very sore subject with me, because people at work want to always come up with the cheapest solution and not look at the big picture, so I didn't mean to sound like I was attacking you, I am a bit sensitive because the performance reflects on my competence as an Administrator, and when things don't perform well I get the brunt of the blame. Sorry for sounding blunt.

The SCSI controller basically redirects traffic, so adding additional controller won't improve since you have no alternate controller to divert the data to. You are pretty much stuck with whatever performance you have now. I was at VM World myself, and 2 things there. 1) Those are not real world examples, those are demos. 2) Those machines were generic and if you notice only a few VM's were running, and the VM's on the servers were pretty much running by themselves, no contention. So don't take what VM Ware says for granted. They are promoting their product, and they don't want anyone to feel that their product can't live up to it's promise. VM Ware does rock, and it is best of breed, however Virtualization as a whole is NOT a good candidate for Databases, and Microsoft, Sun, nor VM Ware will admit that. They all want to sell you a product, but that product minimizes the value of performance, because it's a 90% solution. Databases work OK in a VM, but even you have to agree that it's not AS good as it could be compared to a physical box. So if performance is the ultimate goal for DB, then there has to be a compromise somewhere.

Reply
0 Kudos
Texiwill
Leadership
Leadership

Hello,

Virtual SCSI adapters do make some things better. For example if you have a VMDK and a RDM it is generally suggested you use two different vSCSI controllers to control each and provide more 'paths' within the OS for data to travel. So in essence if your GUest OS handles these paths simultaneously then you will get some improvement. Not sure how much or if it is measurable.

But if you only have one source of storage within the hypervisor you may loose any gains. For DBs performance is based mostly on spindles and some small tweaks, etc.

Yes splitting Log, Journals, from main DB will generally help, but again it may not be measurable depending on your storage setup.


Best regards,

Edward L. Haletky

VMware Communities User Moderator

====

Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.

Blue Gears and SearchVMware Pro Blogs: http://www.astroarch.com/wiki/index.php/Blog_Roll

Top Virtualization Security Links: http://www.astroarch.com/wiki/index.php/Top_Virtualization_Security_Links

--
Edward L. Haletky
vExpert XIV: 2009-2023,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
larden
Contributor
Contributor

That was pretty much my logic. The main disks for OS, App and backup are all VMDK on SCSI Controller 0

Then I have 2 vRDM one for data and the other for logs, each on SCSI Controller 1 & 2 respectively. Although they are all on the same SAN, we do use multiple paths to the fabric. So this isn't a damaging or unrealistic setup?

VMware Rocks!

VMware Rocks!
Reply
0 Kudos
Texiwill
Leadership
Leadership

Hello,

Multipaths will help quite a bit. No you do not have an unreasonable setup.


Best regards,

Edward L. Haletky

VMware Communities User Moderator

====

Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.

Blue Gears and SearchVMware Pro Blogs: http://www.astroarch.com/wiki/index.php/Blog_Roll

Top Virtualization Security Links: http://www.astroarch.com/wiki/index.php/Top_Virtualization_Security_Links

--
Edward L. Haletky
vExpert XIV: 2009-2023,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
Reply
0 Kudos