Speed while loading
-
Hello,
when I load an 1.3GB ISO over pxe it takes very long … around 15min.
But I have a 5GBit Link. A iPerf3 speed test show me to the fog server:
Connecting to host 192.168.0.244, port 5201 [ 4] local 192.168.0.98 port 63421 connected to 192.168.0.244 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.00 sec 120 MBytes 1.01 Gbits/sec [ 4] 1.00-2.01 sec 22.8 MBytes 189 Mbits/sec [ 4] 2.01-3.00 sec 109 MBytes 918 Mbits/sec [ 4] 3.00-4.00 sec 144 MBytes 1.21 Gbits/sec [ 4] 4.00-5.00 sec 149 MBytes 1.25 Gbits/sec [ 4] 5.00-6.00 sec 140 MBytes 1.17 Gbits/sec [ 4] 6.00-7.00 sec 170 MBytes 1.42 Gbits/sec [ 4] 7.00-8.00 sec 175 MBytes 1.47 Gbits/sec [ 4] 8.00-9.00 sec 159 MBytes 1.34 Gbits/sec [ 4] 9.00-10.00 sec 144 MBytes 1.21 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 1.30 GBytes 1.12 Gbits/sec sender [ 4] 0.00-10.00 sec 1.30 GBytes 1.12 Gbits/sec receiver
So around 1.12Gbits … way takes to load the ISO over TFTP so long?
Thank you!
-
@seppim TFTP is a protocol that is limited to 10Mbps. That’s why. If you need more speed, you should chainload from TFTP to iPXE which will then use HTTP/TCP protocols to transfer the data, giving a much faster load time.
-
@seppim To further clarify,
TFTP is a limited protocol. What do I mean by this? Well it transfers data in blocks. As each blocksize is met, the TCP needs to resend validation of the next block. By default, tftp is set to check ever 512 bytes. So for every .5 KB it’s chunking, checking the prior, receiving the next, then downloading, and rinse repeat. At 1.3 GB this is going to take a very long time.
Now there are methods to increase the block size. I believe the maximum block size, however, is 65536 Bytes. That means, essentially, every 64KB it will have to do the chunking process over and over. Still would take a long time with a 1.3GB file, though it might decrease the download time from 15 minutes to maybe 7.5 minutes (I’m just using numbers as a baseline, I have not tested this.)
We use iPXE because the download sizes for TFTP to get the iPXE binaries is much much smaller. The UEFI driver ipxe.efi is 1,020 KB (basically 1MB). The Legacy driver undionly.kpxe 96.6KB (or about 97KB). I believe the UEFI stack takes so long to load because of this size difference. The efi driver is roughly 10 times larger than the legacy item. Even the legacy ipxe.pxe driver is only 352KB.
So once the ipxe stuff is loaded, you are then having access to TCP protocols, not limited to TFTP items.
-
@tom-elliott Hello,
how can I get the http path, where I need to copy the ISO to?
I installed FOG on my Ubuntu 18 Server
-
@seppim
/var/www/html
is the base path of the apache server. FWIW the fog program is installed in/var/www/html/fog
directory. Its not required to save your iso to the fog directory. But since you are using just the ISO image that also implies you are using memdisk, which is a bios only program. UEFI systems will not be able to use this method of booting. -
This post is deleted! -
@george1421 Hello,
thank you! This is now loading super fast. Just around 10sek.
But:
on my physical laptop he throw an error, there is not enough memory available to create virtual RAM disk.On my Virtual Box VM, I have first the same error (2.3GB Ram) and increase it to 4.2GB … then he booting the Hirens BootCD.
But the Laptop has 8GB Ram … did you know why I get this error?
My Parameters:
initrd http://${fog-ip}/iso/HBCD_PE_x64.iso chain memdisk iso raw || boot || goto start
Thank you!
-
@seppim I have no idea since I did not test loading it with memdisk. I did not look but I suspect the iso image may be larger than 2GB (thinking memdisk is a 32 bit application and not a 64 bit app. But this is only a guess). I know when I was testing the boot.wim file on the iso was 1.3GB in size.
I was able to get it to boot in uefi mode here: https://forums.fogproject.org/post/140212 but in bios mode it complains about needing bootmgr.exe in the iso image.