Keywords: network bandwidth throughput measurement estimation testing performance stressing tool
nepim stands for network pipemeter, a tool for measuring available bandwidth between hosts. nepim is also useful to generate network traffic for testing purposes.
nepim operates in client/server mode, is able to handle multiple parallel traffic streams, reports periodic partial statistics along the testing, and supports IPv6.
nepim - network pipemeter
Copyright (C) 2005 Everton da Silva Marques
nepim is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
nepim is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with nepim; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
nepim has been tested under Linux, Solaris and FreeBSD, though it should work under other platforms as well. If you manage to build nepim for different systems, please send the patch.
Starting the server:
server$ nepim |
Starting the client against the server located at 10.10.10.10:
client$ nepim -c 10.10.10.10 -d |
Display brief help about command line options:
$ nepim -h |
Running nepim in server mode at the server host:
server$ nepim nepim - network pipemeter - version 0.27 server: tcp_read=32768 tcp_write=32768 udp_read=4096 udp_write=4096 3: TCP socket listening on ::,1234 sock.c: nepim_create_socket: bind(4,0.0.0.0,1234): errno=98: Address already in use server.c spawn_tcp_listener: TCP listener socket failed for 0.0.0.0,1234: -3 4: UDP socket listening on ::,1234 4: pmtud_mode=1 path_mtu=-11 mss=-19 tos=0 ttl=64 mcast_ttl=1 win_recv=109568 win_send=109 _ka=0 nodelay=-10 5: UDP socket listening on 0.0.0.0,1234 5: pmtud_mode=1 path_mtu=-11 mss=-19 tos=0 ttl=64 mcast_ttl=1 win_recv=109568 win_send=109 _ka=0 nodelay=-10 nepim: server ready |
Running nepim in client mode at the client host:
client$ nepim -c localhost -d -r 100000 nepim - network pipemeter - version 0.27 client: tcp_read=32768 tcp_write=32768 not a UNIX domain path: localhost: errno=2: No such file or directory TCP socket solving localhost,1234 TCP socket trying 127.0.0.1,1234 DEBUG FIXME sock.c nepim_connect_client_socket slow synchronous connect 3: TCP socket connected to 127.0.0.1,1234 3: sending: hello server_send=1 bit_rate=100000 pkt_rate=-1 stat_interval=2 test_duration= _delay=250000 server_ka_send=0 server_ka_req=0 seed=0xd4d2e835 verify_data=0 random_fill=1 te=0x00 pause_duration=0 sock_ka=1 nagle=-1 overhead=0 password= 3: greetings sent to 127.0.0.1,1234 3: pmtud_mode=1 path_mtu=16436 mss=16383 tos=0 ttl=64 mcast_ttl=1 win_recv=87856 win_send= ck_ka=1 nodelay=0 kbps_in kbps_out rcv/s snd/s 3 prt 8 100.00 100.00 4.00 4.00 3 prt 6 100.00 100.00 4.00 4.00 3 prt 4 100.00 100.00 4.00 4.00 3 prt 2 100.00 100.00 4.00 4.00 3 avg 0 100.00 100.00 4.00 4.00 3: pmtud_mode=1 path_mtu=16436 mss=16384 tos=0 ttl=64 mcast_ttl=1 win_recv=87856 win_send= ck_ka=1 nodelay=0 nepim: no event sink registered nepim: done |
Up to 0.31 | Higher than 0.31 |
---|---|
nepim -c 10.0.0.1 -a 120 | nepim -c 10.0.0.1 -a 2m |
nepim -c 10.0.0.1 -a 3600 | nepim -c 10.0.0.1 -a 1h |
nepim -c 10.0.0.1 -a 43200 | nepim -c 10.0.0.1 -a .5d |
client$ nepim -c 10.0.0.1,2000 -c 192.168.0.1,3000 |
-r .25g = 250,000,000 bps -r .1m = 100,000 pps -R .02k = 20 pps
client$ nepim -c 10.0.0.1 -r 100000 |
client$ nepim -c 10.0.0.1 -D 100000 -R 20 |
client$ nepim -c 10.0.0.1 -e 10 |
server$ nepim -j ff01::1111 |
client$ nepim -M -c ff01::1111 -r 100000 |
server$ nepim -k 321 |
client$ nepim -k 321 -c server-hostname |
client$ nepim -F -c 1.1.1.1 -r 100000 |
server$ nepim -U /tmp/sock1 |
client$ nepim -c /tmp/sock1 |
server$ nepim -W 100 |
client$ nepim -u -W 100 -d -r 100000 -c 10.10.10.10 -o 28 |
server$ nepim -W 1400 |
client$ nepim -u -W 1400 -d -r 100000 -c 10.10.10.10 -o |
Get latest nepim stable release here:
http://savannah.nongnu.org/download/nepim/
ViewCVS access to CVS tree:
http://cvs.savannah.nongnu.org/viewcvs/nepim/nepim/
Anonymous access to CVS repository:
export CVS_RSH=ssh cvs -z3 -d:pserver:[email protected]:/sources/nepim co nepim |
For suggestions, patches, bug reports, please visit nepim support page at Savannah:
http://savannah.nongnu.org/projects/nepim/
Other tools similar to nepim: