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.

Introduction goes over basic usage and available command line options.

Script Examples demonstrate what Lua scripting can be used for. Be sure to check out the accompanying 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: