Added command-line options to README.

This commit is contained in:
Jacob Leverich 2013-01-18 14:25:59 -08:00
parent 46015b29ac
commit f33fa6222f

View File

@ -63,3 +63,76 @@ remote agents.
RX 393609073 bytes : 75.1 MB/s
TX 57374136 bytes : 10.9 MB/s
Command-line Options
====================
Usage: mutilate -s server[:port] [options]
"High-performance" memcached benchmarking tool
-h, --help Print help and exit
--version Print version and exit
-v, --verbose Verbosity. Repeat for more verbose.
--quiet Disable log messages.
Basic options:
-s, --server=STRING Memcached server hostname[:port]. Repeat to specify
multiple servers.
-q, --qps=INT Target aggregate QPS. 0 = peak QPS. (default=`0')
-t, --time=INT Maximum time to run (seconds). (default=`5')
-K, --keysize=STRING Length of memcached keys (distribution).
(default=`30')
-V, --valuesize=STRING Length of memcached values (distribution).
(default=`200')
-r, --records=INT Number of memcached records to use. If multiple
memcached servers are given, this number is
divided by the number of servers.
(default=`10000')
-u, --update=FLOAT Ratio of set:get commands. (default=`0.0')
Advanced options:
-T, --threads=INT Number of threads to spawn. (default=`1')
-c, --connections=INT Connections to establish per server. (default=`1')
-d, --depth=INT Maximum depth to pipeline requests. (default=`1')
-R, --roundrobin Assign threads to servers in round-robin fashion.
By default, each thread connects to every server.
-i, --iadist=STRING Inter-arrival distribution (distribution). Note:
The distribution will automatically be adjusted to
match the QPS given by --qps.
(default=`exponential')
--noload Skip database loading.
--loadonly Load database and then exit.
-B, --blocking Use blocking epoll(). May increase latency.
-D, --no_nodelay Don't use TCP_NODELAY.
-w, --warmup=INT Warmup time before starting measurement.
-W, --wait=INT Time to wait after startup to start measurement.
-S, --search=N:X Search for the QPS where N-order statistic < Xus.
(i.e. --search 95:1000 means find the QPS where
95% of requests are faster than 1000us).
--scan=min:max:step Scan latency across QPS rates from min to max.
Agent-mode options:
-A, --agentmode Run client in agent mode.
-a, --agent=host Enlist remote agent.
-l, --lambda_mul=INT Lambda multiplier. Increases share of QPS for this
client. (default=`1')
Some options take a 'distribution' as an argument.
Distributions are specified by <distribution>[:<param1>[,...]].
Parameters are not required. The following distributions are supported:
[fixed:]<value> Always generates <value>.
uniform:<max> Uniform distribution between 0 and <max>.
normal:<mean>,<sd> Normal distribution.
exponential:<lambda> Exponential distribution.
pareto:<loc>,<scale>,<shape> Generalized Pareto distribution.
gev:<loc>,<scale>,<shape> Generalized Extreme Value distribution.
To recreate the Facebook "ETC" request stream from [1], the
following hard-coded distributions are also provided:
fb_value = a hard-coded discrete and GPareto PDF of value sizes
fb_key = "gev:30.7984,8.20449,0.078688", key-size distribution
fb_ia = "pareto:0.0,16.0292,0.154971", inter-arrival time dist.
[1] Berk Atikoglu et al., Workload Analysis of a Large-Scale Key-Value Store,
SIGMETRICS 2012