Post links and attach files for documentation here, also chat about these docs freely

User avatar
By 0ff
#1196 Hey there,

in some threads it was asked how fast the chip would transfer data over wifi.
Just today I found a hint in some sources, that espressif might actually have been generously enough to include "netio" in their lwip library.
This means, that you can run a pretty much standard performance test on the module, without actually having to compile anything yourself.

The modules runs a netio TCP-only server on port 18767, i.e. you can connect to it like this:
Code: Select all./netio -t -p 18767 <module ip>


Here's some data I got, while the module was lying about 20cm from my Laptop and connected in sta+softAP mode (i.e. running it's own network while being connected to an ap).

First set is through the 3rd-party ap connection (i.e. laptop <-> ap <-> esp):
Code: Select allNETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  78.37 KByte/s Tx,  37.08 KByte/s Rx.
Packet size  2k bytes:  91.32 KByte/s Tx,  29.69 KByte/s Rx.
Packet size  4k bytes:  283.06 KByte/s Tx,  81.92 KByte/s Rx.
Packet size  8k bytes:  244.86 KByte/s Tx,  65.87 KByte/s Rx.
Packet size 16k bytes:  263.49 KByte/s Tx,  63.75 KByte/s Rx.
Packet size 32k bytes:  235.51 KByte/s Tx,  72.87 KByte/s Rx.
Done.


2nd set through the softAP connection (i.e. laptop <-> esp):
Code: Select allNETIO - Network Throughput Benchmark, Version 1.31
(C) 1997-2010 Kai Uwe Rommel

TCP connection established.
Packet size  1k bytes:  146.76 KByte/s Tx,  14622 Byte/s Rx.
Packet size  2k bytes:  91.85 KByte/s Tx,  13155 Byte/s Rx.
Packet size  4k bytes:  82.97 KByte/s Tx,  25.40 KByte/s Rx.
Packet size  8k bytes:  90.21 KByte/s Tx,  22.11 KByte/s Rx.
Packet size 16k bytes:  76.65 KByte/s Tx,  57.09 KByte/s Rx.
Packet size 32k bytes:  247.28 KByte/s Tx,  68.36 KByte/s Rx.
Done.


Note: While I ran the tests multiple times, some values (mostly Tx of the Module) vary between 1 and 25 KBytes/s in between 2 runs.
This means that these are not "guaranteed" values, but instead they should provide you with a rough overview of what the module is capable of (and what it's not.).

Go ahead, run the tests yourself, tell us if your speeds are in the same range, please :) http://www.ars.de/ars/ars.nsf/docs/netio

EDIT: There's one thing I forgot, sorry for the confusion! You need to call
Code: Select allnetio_init();
at some point in your code in order to have the server listen for connections.

Regards
User avatar
By jonsmirl
#1382 Can you do a third test - plug the laptop into the router with Ethernet, then run the test. That will get rid of the double wifi transit. The double transit likely causes collisions and retransmits.

As a general check throughput in these benchmarks should scale with packet size up to 7K (802.11 MTU size) and then be fairly flat from then on.