VMware Cloud Community
rickardnobel
Champion
Champion

Better or worse performance with two SCSI adapters?

If having a system disk in a VM that is on a SCSI adapter, say the LSI Logic, and you would like to have a second disk, would it make any sense to add a second SCSI adapter for that disk?

That is, not using the PVSCSI adapter, but two LSI Logic on a Win2003 guest perhaps. Someone told me that this could increase disk IO performance since there is two separate controllers handling the IO, but there also seems to be a risk for more overhead in the VM?

My VMware blog: www.rickardnobel.se
0 Kudos
6 Replies
RParker
Immortal
Immortal

no reason to add another controller, there is STILL only one controller on the host.. so you are STILL going through that controller..

0 Kudos
rickardnobel
Champion
Champion

Thanks for your reply. That makes sense of course. Smiley Happy But if not using local storage, but perhaps FC HBA or something.

There is nothing SCSI related, as in just one active command on the SCSI bus, that would make two virtual controllers better?

My VMware blog: www.rickardnobel.se
0 Kudos
wila
Immortal
Immortal

Hello,

I personally think it will increase performance slightly because your drivers will each have their own buffers, but....

1) You'll get conflicting answers here as other people will point out the extra overhead

2) As already points out, it doesn't change anything in the physical world

3) If there's a gain it will be so minimal that you can't even measure it, so your tuning efforts are most likely going to be wasted effords.

4) There's most likely other areas where you can win in performance that are going to be easier

5) You are making the configuration of your VM more complex, that's NEVER a win.

If you're looking for optimisations, here's one I normally use. I put my swap on another virtual disk. Why? Not so much for the initial virtual performance gain. Yes you can create a more difficult setup where you put your swap disk on for example a RAID 0 lun (Ewww) but mostly because the swap file tends to fragment... which then helps fragmenting the rest of your files on disk too. Again, its debatable if it is worth the trouble to go there.

The best advice is to keep things as easy as possible as that tends to give the least problems in the long run.

You'll need a more performant VM? Try creating a more performant type of LUN at host level, like RAID 10 on scsi disks if local storage.



--
Wil
_____________________________________________________
VI-Toolkit & scripts wiki at http://www.vi-toolkit.com

Contributing author at blog www.planetvm.net

Twitter: @wilva

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
rickardnobel
Champion
Champion

Thanks for your reply!

I personally think it will increase performance slightly because your drivers will each have their own buffers, but....

So that could be the possible reason for this recommendation I heard? Both the virtual adapter will have their own "virtual buffers" which could in theory mean more IO throughput?

In a physical server, if you would put two SCSI controllers in and attach, say, six local drives to each controller, could this in theory mean better IO?

If you're looking for optimisations, here's one I normally use. I put my swap on another virtual disk. Why? Not so much for the initial virtual performance gain. Yes you can create a more difficult setup where you put your swap disk on for example a RAID 0 lun (Ewww) but mostly because the swap file tends to fragment... which then helps fragmenting the rest of your files on disk too.

I am of the opinion that pagefile optimization is often not worth it. If you put it at the same start and max size then no fragmentation will happen. And I also think that the pagefile is used much less than often though. If you really have constant page in and out going on then the performance will be very bad and the VM needs more RAM. If the disk access for this ongoing swaping is optimized will not really matter, since it will still be thousend of times slower than RAM access.

Windows (XP and Win2003) does put perhaps a little bit more stuff in the pagefile than necessary, but it is mainly unused stuff which does not matter either. However, thanks to the main counters in Task Manager having the wrong name ("page file usage" = NOT page file usage) can lead to think that the swap is used much more than it really is.

My VMware blog: www.rickardnobel.se
0 Kudos
PduPreez
VMware Employee
VMware Employee

Just my 2 Cents

It all depends on the Type of VM and I/O required

For a VM with 2 x vmdk's running as a DC I would create only 1 x SCSi Controller with default LSI

With more complex VM's with 5 or more vmdk's like SAP and big SQL servers it is a different story

For the most part, you would want to use more than 1 SCSI Controller because you need different types

The standard I follow is to put the 1st vmdk (OS) on the 1st SCSI Controller and the rest on a 2nd SCSI Controller

For high I/O server like SAP/SQL I change the 2nd SCSI Controller Type to paravirtualized for better performance

Also I tend to go no more than 5 vmdk's per SCSi Controller

Regards

If you find this or any other answer useful please consider awarding points by marking the answer helpful or correct. Thank you.

rickardnobel
Champion
Champion

Thanks a lot for your reply and it all makes sense to me.

Also I tend to go no more than 5 vmdk's per SCSi Controller

Could you give some more thoughts on why? I find this very interesting and would like to know what to look for and where it is possible to optimize.

If you for some reason would have a VM with more than five VMDKs, would this second SCSI controller give you more virtual buffers or is there any limit of the number of active commands on a SCSI bus?

My VMware blog: www.rickardnobel.se
0 Kudos