[syslinux] Syslinux 4.04 gpxelinux.0 http performance problem with VMware VMs

Pasi Kärkkäinen pasik at iki.fi
Tue May 8 10:44:01 PDT 2012


On Tue, May 08, 2012 at 05:27:49PM +0300, Pasi Kärkkäinen wrote:
> On Tue, May 08, 2012 at 09:26:12AM -0400, Andrew Bobulsky wrote:
> > On Tue, May 8, 2012 at 8:24 AM, Pasi Kärkkäinen <pasik at iki.fi> wrote:
> > > On Tue, May 08, 2012 at 02:05:31PM +0300, Pasi Kärkkäinen wrote:
> > >> On Mon, May 07, 2012 at 09:53:35PM -0400, Gene Cumm wrote:
> > >> > On Mon, May 7, 2012 at 4:40 PM, Pasi Kärkkäinen <pasik at iki.fi> wrote:
> > >> > > Hello,
> > >> > >
> > >> > > In my testing environment I have two VMs on ESXi 5.0.
> > >> > >
> > >> > > VM A = dhcp/tftp/PXE/http server, running CentOS 6.2. Syslinux 4.04 with the included gpxelinux.0.
> > >> > > VM B = PXE boot client.
> > >> >
> > >> > > Any ideas what's causing the bad performance and those continuous retransmits?
> > >> > > Anything I should try to debug this?
> > >> > >
> > >> > > On baremetal with Intel NICs I've seen much better gpxelinux.0 download speeds over http.
> > >> >
> > >> > Syslinux 4.04 is obsolete and probably not worth debugging.  4.05 is
> > >> > current and 4.10-pre20 is a beta with lwIP, a lightweight IP stack,
> > >> > eliminating the need for gPXE if you only want HTTP downloads.  I've
> > >> > already been testing 4.10-pre* in VMware VMs with success after my
> > >> > patch.  I've seen a solid 45-70 MB/s after that patch on VMware VMs.
> > >> >
> > >>
> > >> That sounds really nice! I'll have to try the new stuff.
> > >>
> > >
> > > Oh, is there any documentation or examples about the new non-gPXE stuff?
> > > Should I just use pxelinux.0 to get the LwIP http?
> > >
> > > I couldn't find anything with "grep -i lwip doc/*" in the git clone,
> > > but maybe I'll start browsing the changelogs :)
> > >
> > >
> > > Thanks,
> > >
> > > -- Pasi
> > 
> > 
> > Hello Pasi,
> > 
> > As I understand it, simply chain pxelinux.0 (from the 4.10-pre* line)
> > to your PXE client as the boot file, and it'll speak HTTP if it's
> > given an HTTP URI from the pxelinux.cfg/default (or client specific
> > named) config file.
> > 
> 
> Thanks for confirming that!
> 
> > I'd suspect that if you want to pull HTTP for the config file as well,
> > you'd have to set your DHCP options accordingly, notably the pxelinux
> > Path Prefix, or DHCP option 210, along with the "pxelinux magic"
> > options.  Detailed here:
> > http://www.syslinux.org/wiki/index.php/PXELINUX#Can_I_send_information_to_PXELINUX_via_special_options_in_the_DHCP_response.3F
> > 
> 
> Yeah I've been pulling also the config file over HTTP with gpxelinux.0,
> so I assume I need pretty much the same DHCP config/options when using 
> the new pxelinux.0 from 4.10-pre*. 
> 
> > Been meaning to try it out myself since I downloaded the binaries a
> > few days ago :)
> > 
> 
> Good luck :) I'll try it today/tomorrow aswell.
> 

I just tried with pxelinux.0 from syslinux-4.10-pre20.

Now I can get up to 6 MB/sec http download speed when using 
vmxnet3 NIC in the PXE boot VM. 

If I use e1000 NIC in the PXE boot VM the speed is slower, 
around 1.0 - 1.5 MB/sec.

So now it's better but still not quite there..

I can still see a lot of TCP retransmits on the http server (CentOS 6.2) side.
While downloading 260 MB image over http I can see around 5900 TCP retransmits 
happening on the http server! That doesn't sound right.. 

Can someone think of Linux network settings that might affect this on the http server side? 

Thanks,

-- Pasi




More information about the Syslinux mailing list