The ngx_stream_split_clients_module
module (1.11.3) creates variables suitable for A/B testing, also known as split testing.
stream { ... split_clients "${remote_addr}AAA" $upstream { 0.5% feature_test1; 2.0% feature_test2; * production; } server { ... proxy_pass $upstream; } }
Syntax: | split_clients
|
---|---|
Default: | — |
Context: | stream |
Creates a variable for A/B testing, for example:
split_clients "${remote_addr}AAA" $variant { 0.5% .one; 2.0% .two; * ""; }
The value of the original string is hashed using MurmurHash2. In the example given, hash values from 0 to 21474835 (0.5%) correspond to the value ".one"
of the $variant
variable, hash values from 21474836 to 107374180 (2%) correspond to the value ".two"
, and hash values from 107374181 to 4294967295 correspond to the value ""
(an empty string).
© 2002-2017 Igor Sysoev
© 2011-2017 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/stream/ngx_stream_split_clients_module.html