2023-10-23 19:21:37 +02:00
|
|
|
|
===================================
|
2023-10-21 12:24:43 +02:00
|
|
|
|
``tcpblaster`` TCP Performance Test
|
|
|
|
|
===================================
|
|
|
|
|
|
|
|
|
|
The ``tcpblaster`` example derives from the ``nettest`` example and basically
|
|
|
|
|
duplicates that example when the ``nettest`` PERFORMANCE option is selected.
|
|
|
|
|
``tcpblaster`` has a little better reporting of performance stats, however.
|
|
|
|
|
|
|
|
|
|
To set up, do ``make menuconfig`` and select the Apps → Examples → tcpblaster.
|
|
|
|
|
By default, nuttx will the be the client which sends data; and the
|
|
|
|
|
host computer (Linux, macOS, or Windows) will be the server.
|
|
|
|
|
|
|
|
|
|
Set up networking so the nuttx computer can ping the host, and the host can ping
|
|
|
|
|
nuttx. Now you are ready to run the test.
|
|
|
|
|
|
|
|
|
|
On host::
|
|
|
|
|
|
|
|
|
|
$ ./tcpserver
|
|
|
|
|
Binding to IPv4 Address: 00000000
|
|
|
|
|
server: Accepting connections on port 5471
|
|
|
|
|
|
|
|
|
|
On nuttx::
|
|
|
|
|
|
|
|
|
|
nsh> tcpclient
|
|
|
|
|
Connecting to IPv4 Address: 0100000a
|
|
|
|
|
client: Connected
|
|
|
|
|
[2014-07-31 00:16:15.000] 0: Sent 200 4096-byte buffers: 800.0 KB (avg 4.0 KB) in 0.18 seconds (4444.4 KB/second)
|
|
|
|
|
|
|
|
|
|
Now on the host you should see something like::
|
|
|
|
|
|
|
|
|
|
$ ./tcpserver
|
|
|
|
|
Binding to IPv4 Address: 00000000
|
|
|
|
|
server: Accepting connections on port 5471
|
|
|
|
|
server: Connection accepted -- receiving
|
|
|
|
|
[2020-02-22 16:17:07.000] 0: Received 200 buffers: 502.9 KB (buffer average size: 2.5 KB) in 0.12 seconds (4194.8 KB/second)
|
|
|
|
|
[2020-02-22 16:17:07.000] 1: Received 200 buffers: 393.1 KB (buffer average size: 2.0 KB) in 0.09 seconds (4299.4 KB/second)
|
|
|
|
|
|
|
|
|
|
This will tell you the link speed in KB/sec – kilobytes per second. If you want
|
|
|
|
|
kilobits, multiply by ``8``.
|
|
|
|
|
|
|
|
|
|
You can use the ``make menuconfig`` to reverse the setup, and have nuttx be the
|
|
|
|
|
server, and the host be the client. If you do that, start the server first
|
|
|
|
|
(nuttx), then start the client (host).
|