Project repo has moved to
Clone or download
Pull request Compare This branch is 358 commits ahead of google:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
examples
scripts
tests
vendor
.editorconfig
.gitignore
CONTRIBUTING.md
LICENSE
Makefile
Makefile.ljsyscall
README.rst
TODO
common.c
common.h
control_plane.c
control_plane.h
cpuinfo.c
cpuinfo.h
dummy_test.c
dummy_test_main.c
flags.c
flags.h
flow.c
flow.h
hexdump.c
hexdump.h
interval.c
interval.h
lib.h
logging.c
logging.h
numlist.c
numlist.h
percentiles.c
percentiles.h
rushit.spec
sample.c
sample.h
script.c
script.h
script_prelude.lua
serialize.c
serialize.h
tcp_rr.c
tcp_rr_main.c
tcp_stream.c
tcp_stream_main.c
thread.c
thread.h
udp_stream.c
udp_stream_main.c
version.c
version.h
workload.c
workload.h

README.rst

rushit

rushit is a network micro-benchmark tool that is scriptable with Lua. It resembles well-known tools like iperf or netperf. It originates from the neper project.

The project aims for the sweet spot between a small C program that simulates a network client/server and a fully featured network micro-benchmark. It provides you with a basic multi-threaded epoll-based client/server program that is intended to be extended, as needed, with Lua scripts.

rushit can simulate the following network workloads:

  • tcp_rr, a request/response over TCP workload; simulates HTTP or RPC,
  • tcp_stream, a uni-/bi-directional bulk data transfer over TCP workload; simulates FTP or scp,
  • udp_stream, a uni-directional bulk data transfer over UDP workload; simulates audio or video streaming.

How do I get started?

Best place to start is the project documentation at Read the Docs.

:ref:`introduction` goes over basic usage and available command line options.

:ref:`script-examples` demonstrate what Lua scripting can be used for. Be sure to check out the accompanying :ref:`script-api` documentation.

Don't know Lua?

Don't worry. See Learn Lua in Y minutes for a quick introduction.

Once you are hooked on Lua, take a look at these resources:

Packages

Fedora, CentOS: In pabeni's copr repository (thanks Paolo!)

Want to contribute?

Great! Just create a Pull Request. We follow these guidelines: