Indentation for command-line options.

This commit is contained in:
Jacob Leverich 2013-01-18 14:29:57 -08:00
parent 5a0fd63455
commit ac74a6ae40

139
README.md
View File

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