The new option --record allows you to record a session in two file, one for each data direction. Then using the playback utility, you can replay the information sent by the client (the .in file) to the server. It will respect the data rate. The goal of this tool is to help performance testing of a server. It is rather crude. Basically, instead of pointing your client software to the host/port of the server, you point it to a redir process in record mode. The redir process is started like this redir --record /tmp/redirlog host local_port host_port When a connection is made on the redir server on port local_port, it connects to host on port host_port. It produces a file /tmp/redirlog.in.XXX and /tmp/redirlog.out.XXX. XXX is the session ID (001,002,...). Each time you connect to the redir server, it increments the session id. This way you can record several session in parallel and each goes in its own log file. Then you use the playback utility to replay the session. This assumes the server will behave exactly the same way. If a server behave differently based on various outside event, the playback may not work. The solution to this problem is either to modify your server so it fakes a bit to produce a reproducible result. Or you use a smarter playback utility. Anyway, to do the playback, you do playback host host_port /tmp/redirlog.in.001 To test the load on your server, you can start several playback process at different interval. This is a simple way to see how many clients a server can handle. Not very precise, not that smart. Expect result with +-100% errors :-)