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 orscp
,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:
- Lua for Programmers blog series
- Programming in Lua book
- Lua 5.1 Reference Manual
- The Lua language (v5.1) cheat sheet
Packages¶
Fedora, CentOS: In pabeni’s copr repository (thanks Paolo!)
Want to contribute?¶
Great! Just create a Pull Request. We follow these guidelines:
- C99, avoid compiler-specific extensions.
- Linux kernel coding style, with tabs expanded to 8 spaces.