The -Z flag specifies optional, comma-separated key-value configuration parameters, called "proxy_behavior"'s in the codebase. For example:
-Z downstream_max=8,time_stats=1,downstream_protocol=asciiHere's some of the more useful -Z flags:
port_listen // IL: Default port to listen on. cycle // IL: Clock resolution in millisecs. downstream_max // PL: Downstream concurrency per worker thread. downstream_retry // SL: How many times to retry a cmd, defaults to 1. downstream_protocol // SL: Favored downstream protocol, defaults to binary. downstream_timeout // SL: Millisecs. wait_queue_timeout // PL: Millisecs. time_stats // IL: Capture timing stats (for histograms). connect_max_errors // IL: Pause when too many connect() errors. connect_retry_interval // IL: Time in millisecs before retrying // when too many connect() errors, to not // overwhelm the downstream servers. front_cache_max // PL: Max # of front cachable items. front_cache_lifespan // PL: In millisecs. front_cache_spec // PL: Matcher prefixes for front caching. front_cache_unspec // PL: Don't front cache prefixes. key_stats_max // PL: Max # of key stats entries. key_stats_lifespan // PL: In millisecs. key_stats_spec // PL: Matcher prefixes for key-level stats. key_stats_unspec // PL: Don't key stat prefixes. optimize_set // PL: Matcher prefixes for SET optimization. usr // SL: User name for REST or SASL auth. pwd // SL: Password for REST or SASL auth. bucket // SL: Bucket name for bucket selection. default_bucket_name // ML: The named bucket (proxy->name) // that upstream conn's should start on. // When empty (""), then only binary SASL // clients can actually do anything useful.
The IL/ML/PL/SL markers above in the -Z flags refer to a behavior inheritance design in moxi. More information on how behavior/configuration values are inherited at various levels in the system (initialization-level, pool-level, server-level...) is available at:
http://github.com/couchbase/moxi/blob/master/doc/moxi/configuration.org