Module ngx_stream_split_clients_module
| Example Configuration Directives split_clients  | 
The ngx_stream_split_clients_module module (1.11.3) creates
variables suitable for A/B testing, also known as split testing.
Example Configuration
stream {
    ...
    split_clients "${remote_addr}AAA" $upstream {
                  0.5%                feature_test1;
                  2.0%                feature_test2;
                  *                   production;
    }
    server {
        ...
        proxy_pass $upstream;
    }
}
Directives
| 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).