How to improve network perfomance of VMWARE server running on Windows 2003 Enterprise?

Posted on 2008-11-04
Last Modified: 2009-06-25
Running VMWARE server 1.7 on windows 2003 Enterprise R2 HOST.
(Dell PE 2900 with two nics, I have disabled teaming since I thought it might be the problem, no change)

File transfer speed to/from host (win 2003 ent R2) works fine.
File transfer speed to/from Guest-VMs (win 2003 and win XP) are very slow.
When I ping large packets to the guests-VMs, packets are getting dropped.
Tested rest of network works great (also note test to host works fine)

The nics are the stand Broadcoms that come with the poweredge 2900.

Any networks tweaks would be appreciated.
I get the feeling this is due to some sort of anti-DOS (Denial of Service) feature that is in Enterprise R2, I do not have this problems with Standard R2.

Add to the info I temporarily enabled TS (terminal service) on HOST (yeah I know not a good idea), and if from a guest-VM I try to TS to the host the server hangs for about 2 minutes...

Again this looks like misbehaving anti-DOS to me.

Any idea?
Question by:rmyers1968
    LVL 28

    Accepted Solution

    1. Get the latest drivers for your Broadcoms (either Dell or Broadcom, whatever is newer) and install them

    2. Turn of TCP Chimney and check if it improves performance (
    LVL 28

    Expert Comment

    3. Get an Intel server NIC.
    LVL 22

    Expert Comment

    by:Luciano PatrĂŁo

    First try to use one NIC to the VMware itself(and host machine)
    Second, try to use the other NIC to the VMs

    Do not forget to install VM tools, in all VMs, and update all your drivers

    Make that changes, and test

    LVL 57

    Expert Comment

    What do you mean by "ping large packets"?  Do you mean you specify a length on the ping command that is big, like say ping x.x.x.x -l 4096?

    When you are pinging where are you pinging from?  A computer on the network or the host OS? If from a computer on the network, what happens if you ping from the host OS.

    What services are you running on the host OS?

    What are the hardware specs on the host server?

    How many active guests do you have?

    Are you running the VM machines in bridged mode or routed?
    LVL 1

    Author Comment

    First off thanks for the responses.

    I had read that article and have updated and disabled chimney and nothing changed. I do agree I never had this problem with servers running Intel Nics just these broadcoms, and I see lots of rants on broadcom NICs.

    I have tried on NIC only and did not see any changes... VM tools are installed and latest drivers to host are installed too...

    What I mean is from a workstation on the NET, if I "ping x.x.x.x -l 15000 -t" where x.x.x.x is the vm-guest IP I drop packets. But if I ping the vm-host with the same size packets no problem.

    Host server is running VMWARE (installed IIS for the VM) and temporarily terminal services but the problem was there before term services...

    Server is a a beast PE2900 RAID6 (striped/mirrored) SAS drives, 2x  Intel quad core processors and dual Broadcom NIC. Running Windows 2003 RD 32-bit Enterprise with 8GB of RAM and 1TB of storage.

    Active guests = 2.

    Running in bridged mode

    I found articles on LSO (large send offload). I set IPv4 Large Send Offload to disable and it has greatly improved server performance... I read up on this and I don't really understand why... But generally, changing this setting may mask a greater problem...

    Any ideas?
    LVL 57

    Assisted Solution

    If you really ping'ed with a length of 15,000 bytes (-l 15000) I would not be suprised that you saw packet loss going to a virtual machine.  This is a big payload.  Is there a special reason you are using 15,000 bytes?

    LSO:  Some of this you may know, but Ethernet has a framesize of 1518, with 18 bytes of overhead, so the large payload can be 1500 bytes.  IP has a header of 20 bytes and TCP has a header of 20 bytes, this means the largest payload per packet for TCP is 1460.  If TCP needs to send say 20,000 bytes, then TCP breaks the 20,000 bytes down into multiple packets of 1460 for as many packets as it takes to get 20,000 through.  This is overhead for the OS.  What LSO does it it allows TCP to send larger packets, up to about 65K, and the NIC segments the TCP packet into multiple ethernet frames of 1500 bytes each.  This moves the overhead from the OS and your computer's CPU to the NIC.  Now, if you had LSO enabled on the virtual NIC of the virtual machine, then this would be handled by the host OS and cause overhead on it.

    What is the normal CPU utilization on the host OS?

    How much RAM does each virtual machine think it has?
    LVL 1

    Author Comment

    Thanks for the info. No reason for that particular size... I always though that ICMP could go to nearly 64K (including header) so I figured that 15000 was less that 25% from a "ping of death" and would demonstrate response time and speed of a good size traffic...

    I did not enable LSO on the Guests just the host...  Good explanation of the LSO though thanks.

    Normal CPU utilization of HOST is about 1% to 2% (really not much going on here...)

    Windows 2003 Guest OS thinks it has 1GB
    Windows XP Guest OS thinks it hat 256MB
    LVL 57

    Expert Comment

    This person had a performance issue running under VMWare 1.0.6 and VMWare recommended that he upgrade to V 2.0.  Although your version of VMWare is newer than his, it may be work the try to get the latest version of VMWare installed.


    LVL 1

    Author Comment

    Thanks I may try that but first I am going to try putting in a Intel 1000MT Dual nic and disable the broadcom card to see if it runs better.

    Thanks again for all the help, will post results soon.
    LVL 28

    Expert Comment

    angelllll, if rmyers1968 does not come back, please split points.

    Featured Post

    6 Surprising Benefits of Threat Intelligence

    All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

    Join & Write a Comment

    Suggested Solutions

    Even if you have implemented a Mobile Device Management solution company wide, it is a good idea to make sure you are taking into account all of the major risks to your electronic protected health information (ePHI).
    Data center, now-a-days, is referred as the home of all the advanced technologies. In-fact, most of the businesses are now establishing their entire organizational structure around the IT capabilities.
    Teach the user how to edit .vmx files to add advanced configuration options Open vSphere Web Client: Edit Settings for a VM: Choose VM Options -> Advanced: Add Configuration Parameters:
    This Micro Tutorial walks you through using a remote console to access a server and install ESXi 5.1. This example is showing remote access and installation using a Dell server. The hypervisor is the very first component of your virtual infrastructu…

    754 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now