63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
Mutilate
|
|
========
|
|
|
|
Mutilate is a memcached load generator designed for high request
|
|
rates, good tail-latency measurements, and realistic request stream
|
|
generation.
|
|
|
|
Requirements
|
|
============
|
|
|
|
1. A C++0x compiler
|
|
2. scons
|
|
3. libevent
|
|
4. gengetopt
|
|
5. zeromq (optional)
|
|
|
|
Building
|
|
========
|
|
|
|
apt-get install scons libevent-dev gengetopt libzmq-dev
|
|
scons
|
|
|
|
Usage
|
|
=====
|
|
|
|
Type './mutilate -h' for a full list of command-line options. At
|
|
minimum, a server must be specified.
|
|
|
|
$ ./mutilate -s localhost
|
|
#type avg min 1st 5th 10th 90th 95th 99th
|
|
read 52.4 41.0 43.1 45.2 48.1 55.8 56.6 71.5
|
|
update 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
op_q 1.5 1.0 1.0 1.1 1.1 1.9 2.0 2.0
|
|
|
|
Total QPS = 18416.6 (92083 / 5.0s)
|
|
|
|
Misses = 0 (0.0%)
|
|
|
|
RX 22744501 bytes : 4.3 MB/s
|
|
TX 3315024 bytes : 0.6 MB/s
|
|
|
|
Mutilate reports the latency (average, minimum, and various
|
|
percentiles) for get and set commands, as well as achieved QPS and
|
|
network goodput.
|
|
|
|
To achieve high request rate, you must configure mutilate to use
|
|
multiple threads, multiple connections, connection pipelining, or
|
|
remote agents.
|
|
|
|
$ ./mutilate -s zephyr2-10g -T 24 -c 8
|
|
#type avg min 1st 5th 10th 90th 95th 99th
|
|
read 598.8 86.0 437.2 466.6 482.6 977.0 1075.8 1170.6
|
|
update 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
op_q 1.5 1.0 1.0 1.1 1.1 1.9 1.9 2.0
|
|
|
|
Total QPS = 318710.8 (1593559 / 5.0s)
|
|
|
|
Misses = 0 (0.0%)
|
|
|
|
RX 393609073 bytes : 75.1 MB/s
|
|
TX 57374136 bytes : 10.9 MB/s
|
|
|