diff --git a/README.md b/README.md index b798f90..e790326 100644 --- a/README.md +++ b/README.md @@ -65,74 +65,75 @@ remote agents. 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 - --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 [:[,...]]. -Parameters are not required. The following distributions are supported: - - [fixed:] Always generates . - uniform: Uniform distribution between 0 and . - normal:, Normal distribution. - exponential: Exponential distribution. - pareto:,, Generalized Pareto distribution. - gev:,, 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 + -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 [:[,...]]. + Parameters are not required. The following distributions are supported: + + [fixed:] Always generates . + uniform: Uniform distribution between 0 and . + normal:, Normal distribution. + exponential: Exponential distribution. + pareto:,, Generalized Pareto distribution. + gev:,, 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