1Unified Performance Tool (or uperf for short) is a network
2performance tool that supports modelling and replay of various
3networking patterns.  It represents a new kind of benchmarking tool
4(like filebench) where instead of running a fixed benchmark or
5workload, a description (or model) of the workload is provided and
6the tool generates the load according to the model.  By distilling
7the benchmark or workload into a model, you can now do various
8things like change the scale of the workload, change different
9parameters, change protocols, etc and analyse the effect of these
10changes on your model.
11
12Some of the questions you could answer using uperf are:
13 * Bandwidth and latency (unidirectional and bi-directional) with different
14   protocols like TCP, UDP, SCTP, SSL
15 * Connection setup and teardown scalability for different protocols
16 * Effect of noise on ongoing network connections
17 * Does it matter if I use processes instead of threads to do network
18   communication?
19 * What is the L2 cache miss rate for connection setup?
20 * Is sendfilev(3EXT) (with one file) equivalent to sendfilev(3EXT)?
21 * Understand TCP, UDP, SCTP, SSL performance under a variety of conditions
22 * Test various TCP Congestion control algorithms
23