[ipxe-devel] undionly.kpxe http download slow
Levente LEVAI
levail at aviatronic.hu
Mon Oct 28 18:03:27 UTC 2013
Thanks, this sounds like a clue. I will check it, I have an nginx server
on the same
unit.
BR
Levente
On 2013-10-28 18:05, Daniel Pittman wrote:
> On Sun, Oct 27, 2013 at 8:10 AM, Levente LEVAI <levail at aviatronic.hu> wrote:
>> I have tried recently to use the kernel/initrd commands to
>> boot our system (kernel&initrd is fetched from an 'publicfile'
>> http server).
>>
>> I found that the download is unduly slow. So I made a tcpdump of
>> the download (on the http server) and I found the amount of fetched
>> data per time unit decreasing exponentially with the total amount
>> data fetched upto a given time.
> We ran into something that may be the same problem using the Ruby
> Sinatra HTTP "server" (< 1.4.4, which fixes this.)
>
> It didn't include a "Content-Length" header in the HTTP response, just
> sent an HTTP chunked file down to iPXE. This led to insanely slow
> downloads; once we patched Sinatra to include that header downloads
> are comparable to TFTP performance.
>
> Our theory, which we never investigated enough to verify, was that
> this is some sort of memory management issue in the downloader, which
> spends increasing amounts of time reallocating and moving memory
> around as the download buffer grows. (eg: over an hour for 170MB,
> compared to less than a minute once Content-Length is included.)
>
> You might verify if you get a content-length from the remote server,
> and if possible, alter it to include that header and see if the
> problem is resolved.
>
> Since we didn't spend the time to actually confirm our theory, I have
> been reluctant to report the bug, but better something than nothing, I
> suppose. :)
>
More information about the ipxe-devel
mailing list