VirtualBox

Opened 12 years ago

Last modified 10 years ago

#10034 closed defect

Slow upload on a NATed Windows XPSP3 guest — at Version 3

Reported by: alt236 Owned by:
Component: network/NAT Version: VirtualBox 4.1.6
Keywords: Cc:
Guest type: Windows Host type: Mac OS X

Description (last modified by vasily Levchenko)

Hello!

I am having some problems with a Guest XP SP3 VM.

Even though the download speed on the NATed interface is reasonably high, but the upload speed seems to be capped at about ~50Kb/sec, works in bursts and eventually hangs. It seems to be worse when FTPing a large number of files in succession.

I've tried the same VM under a MacOS and a Linux host with the same results.

The moment I switch from NAT to a bridged interface, the upload speed returns to a reasonable level.

I disabled the QoS scheduler from the Guest's network interface with no results. I also tuned the TCP buffer with no effect.

There have been some similar problems in the past (not sure if they are related): https://forums.virtualbox.org/viewtopic.php?f=2&p=154844

https://www.virtualbox.org/ticket/1656

https://www.virtualbox.org/ticket/3400

Many thanks! Alex

Change History (4)

comment:1 by vasily Levchenko, 12 years ago

Could you please upload the log file? Do you I understand you right, you have installed ftp server(which server do you use?) on winXP guest and try to upload files via ftp?

by jdpurcell, 12 years ago

Attachment: mss.png added

Wireshark Screenshot

comment:2 by jdpurcell, 12 years ago

I'm having the same problem with a Windows host and Windows guest. It happens not only over FTP but also large HTTP POSTs and probably any other upload. I examined a Wireshark capture and I believe the problem is as follows: after a fair amount of data has been transmitted by the guest, I guess there's a buffer in VirtualBox that starts to fill up and the ACKs that it sends back to the guest have smaller window sizes. Occasionally one of those window sizes will be less than the MSS, and because of Windows' (the guest) Silly Window Syndrome avoidance, it will stop transmitting packets to avoid sending one smaller than the MSS until a 5 second timeout has passed. So the transfer ends up going in burts, with 5 second delays interspersed.

The workaround of increasing one of the NAT TCP/IP buffers helps, specifically the last number:

VBoxManage modifyvm <vm> --natsettings1 1500,64,64,64,1024

Although it reduces the frequency of the delays and greatly improves the transfer speed, it does not fully eliminate the problem.

in reply to:  2 comment:3 by vasily Levchenko, 12 years ago

Description: modified (diff)

Replying to jdpurcell:

I'm having the same problem with a Windows host and Windows guest. It happens not only over FTP but also large HTTP POSTs and probably any other upload. I examined a Wireshark capture and I believe the problem is as follows: after a fair amount of data has been transmitted by the guest, I guess there's a buffer in VirtualBox that starts to fill up and the ACKs that it sends back to the guest have smaller window sizes. Occasionally one of those window sizes will be less than the MSS, and because of Windows' (the guest) Silly Window Syndrome avoidance, it will stop transmitting packets to avoid sending one smaller than the MSS until a 5 second timeout has passed. So the transfer ends up going in burts, with 5 second delays interspersed.

Thank you for investigation and summary. Could you please clarify a bit your environment? For Virtualbox settings you may attach your log file. Do I understand right that you have got web server on the guest?

The workaround of increasing one of the NAT TCP/IP buffers helps, specifically the last number:

VBoxManage modifyvm <vm> --natsettings1 1500,64,64,64,1024

Although it reduces the frequency of the delays and greatly improves the transfer speed, it does not fully eliminate the problem.

Could you describe what you "see" in this case? Perhaps attaching or sending your pcap files could help with clarification.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use