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.
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 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
Fedora, CentOS: In pabeni's copr repository (thanks Paolo!)
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.