Hey,
On 03/15/2012 01:39 AM, Tony Mansson wrote:
Hi,
This is interesting. I'd like to reproduce the Ethernet speed tests.
Do you have the exact command lines?
Sure. You'll need two machines, on being the board. Both need to be in the same 100 or 1000 MBit/s LAN.
On the receiver's end, run:
netcat -l 8000 > /dev/null
This will listen for incoming data on a TCP socket on port 8000. Then, given the receiver's IP address, run the following command on the sender's end:
dd if=/dev/zero bs=1024k count=256 > /dev/tcp/<RECEIVER IP>/8000
Note that "/dev/tcp/XYZ/8000" is a bash-specific feature.
When this command has finished, it will tell you the transfer rate. You can cancel it anytime and it will give you the same information. But be sure not to cancel too early as that makes the measurement less reliable. Obviously, you can change count= to whatever you want. E.g. with the Origen, you'd probably want to only send 10-100 MByte.
Also, you can swap receiver and sender to make sure that running netcat on the board is not causing things to slow down.
Not the best benchmark in the world, but it's simple and you can run it as often if you want to make it more reliable.
Hope that helps, Jannis
---------- Forwarded message ---------- From: Jannis Pohlmann jannis.pohlmann@codethink.co.uk Date: 14 March 2012 21:04 Subject: Slow/broken USB and Ethernet on Snowballs/Origen boards? To: linaro-dev@lists.linaro.org
Hi,
I am currently playing with a couple of the development boards for which there are Linaro hwpacks and LEBs. Since what I am trying to do requires a lot of disk and network I/O, I've been paying special attention to the data transfer rates I can get out of these boards.
Below is a brief summary of my findings.
- i.MX 53
disk I/O using an external SSD drive is very good; good enough to not require further measurements
network I/O is approximately 9-10 MByte/s (perhaps more) which seems ok given the 100 MBit/s Ethernet interface
- Snowball (PDK, version 8)
it seems to be impossible to get the USB OTG host mode to work, therefore I could not test disk I/O with a USB drive; it appears the OTG port on the version 8 board does not even have enough power for a powered USB to actually go online (I am unaware of the details of how this works unfortunately)
performing network I/O with netcat casues netcat, ksoftirqd and kworker to use ~33% of the CPU each, resulting in 100% CPU usage only to handle the network data transfer
the resulting network transfer rate is about 5.5 MByte/s, which is significantly less than what the 100 MBit/s Ethernet interface should be able to produce
- Origen
the internal USB hub runs at Full Speed (12 MBit/s), resulting in a maximum USB disk I/O of 1.5 MByte/s
since the board does not feature Ethernet itself, I tried to attach a USB Ethernet controller to it, but of course the transfer rate through that is by the I/O upper limit of the USB hub
I did not test wireless but it is not feasible for what I am trying to do anyway
I guess not all of this is surprising. The i.MX performs quite well but unfortunately the CPU is quite slow compared to the others. However, I wonder whether the USB OTG host mode issue on the Snowball is a known problem? Also, network I/O occupying all of the CPU seems to be a bug or at least a dodgy driver. About the Origen: I assume there is nothing that can be done to have High Speed USB on it?
Thanks in advance! If anyone needs me to provide more information, I'll gladly try to do that.
Regards, Jannis
linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev
On 15 March 2012 15:39, Jannis Pohlmann jannis.pohlmann@codethink.co.uk wrote:
Hey,
On 03/15/2012 01:39 AM, Tony Mansson wrote:
Hi,
This is interesting. I'd like to reproduce the Ethernet speed tests.
Do you have the exact command lines?
Sure. You'll need two machines, on being the board. Both need to be in the same 100 or 1000 MBit/s LAN.
On the receiver's end, run:
netcat -l 8000 > /dev/null
This will listen for incoming data on a TCP socket on port 8000. Then, given the receiver's IP address, run the following command on the sender's end:
dd if=/dev/zero bs=1024k count=256 > /dev/tcp/<RECEIVER IP>/8000
Cool. You might also want to take a look at 'netperf', a small yet powerful tool. At least until 2006(when I last used it) it was a piece of cake to use.
cheers -jassi