NetX HTML Performance

Hello,

I am investigating the most efficient way to implement a Web Server.

While testing the code supplied in NetX Server Module Guide R11AN0120EU0101 I observe a large file transferred in 1514 byte packets, one transmitted ever 6ms. Each packet is acknowledged before the next is sent.

Is the performance being limited by NetX, USBX or FileX?

Can the number of acknowledgements be reduced? 

Regards

David

  • Hi David,

    Yes, it can be adjusted, please add NetX Source to your project and change its settings: "TCP Immediate ACK" and "TCP ACK Every N Packets".

    Regards,
    adboc
  • In reply to adboc:

    Hi adboc,

    Your suggested changes to NextX configurations doesn't change the acknowledgement frequency.

    Do you have any insight into why it takes so long to transmit a file from a USB stick?
    I was hoping to see an inter-packet spacing in a few 100's of uS not in ms.

    Regards
    David
  • In reply to dburch:

    Hi David,

    I suppose this is due to reading from USB file. Let me investigate it further.

    Regards,
    adboc
  • In reply to adboc:

    Hi David,

    I've run some tests, it seems that NetX HTTP Server responds faster when reading from flash. The larger the file is, the faster the transfer is. For example, for a file of ~200 kB it takes ~24 ms (resulting in 8 MB/s). For smaller file (about 20 kB) it takes about 10 ms (~2 MB/s).

    Regards,
    adboc
  • In reply to adboc:

    Hi adboc,

    Thank you for taking the time to undertake these tests. The results are a lot better.
    Was FileX used in your evaluation?

    Regards
    David
  • In reply to dburch:

    Hi David,

    No, FileX was not used in my evaluation. In the meantime I've tested FileX on USBX performance - it can be greatly improved by assigning more memory for data transfers. Please add USBX Host Class Mass Storage Source module:

    And set larger values to the following settings:

    After these changes, please remember to regenerate and rebuilt your project.

    Regards,
    adboc

  • In reply to adboc:

    Hi adboc,

    I have tried you suggestion but am being defeated by this message. Any ideas?

    make: *** No rule to make
    '../synergy/ssp/src/framework/el/ux_host_class_storage/ux_host_class_storage_src/ux_host_class_storage_activate.c', needed by 'synergy/ssp/src/framework/el/ux_host_class_storage/ux_host_class_storage_src/ux_host_class_storage_activate.o'. Stop.

    Slightly off topic, a suggested improvement to NetX would be to include css file support in the basic MIME maps.

    Regards
    David
  • In reply to dburch:

    Hi David,

    Could you try to perform a clean build? If it still doesn't help, please try removing synergy, Debug, synergy_cfg directories, regenerating project content and then rebuilding it.

    Regards,
    adboc
  • In reply to adboc:

    When I add the USBX Host Class Mass Storage Source, I get build errors.
    Description Resource Path Location Type
    #error "Secure builder required to compile this file" ux_host_class_storage_activate.c /kibonode/synergy/ssp/src/framework/el/ux_host_class_storage/ux_host_class_storage_src line 260 C/C++ Problem
  • In reply to adboc:

    I finally got this to compile, and it made no difference. Perhaps there is a way to turn on DMA for the USB?
  • In reply to Chuck:

    I got the USBX Host Class Mass Storage source to compile, and it is still reading at about 125K/second. Is there a way to get more speed out of it?
  • In reply to Chuck:

    FTP using filezilla is reading at about 104K byte/second
  • In reply to Chuck:

    Hi Chuck,

    You may add DMA transfer drivers to USBX Port HCD component:

    Performance of USBX Host Class Mass Storage does not depend on the Synergy and USBX only. It is also affected by the attached drive. Moreover, it depends on the file size. I would expect higher transfer rates for larger files.

    Here are results after increasing Storage memory size and Maximum transfer size to 16384 and reading the file in 16384-byte chunks.

    Transfer rate for small files (~10 kB): ~1.1 MB/s

    Transfer rate for large files (~40 MB): ~4.6 MB/s

    S7G2_SK_USBX_Host_MS_Perf_1_4_0.zip

    Regards,
    adboc

  • In reply to adboc:

    When I add these it crashes. I have followed the suggested setting in this application note www.renesas.com/.../r11an0173eu0101-synergy-ux-host-class-mass-storage-mod-guide.pdf
  • In reply to Chuck:

    Hi Chuck,

    The underlying DMA drivers should have interrupts enabled and the priority should be higher (i.e. lower number) than the one set in USBX Port HCD.

    Regards,
    adboc