Nginx split_clients 模块

split_clients模块默认已经编译进Nginx , 通过–without-http_split_clients_module 禁用。

功能:

1、基于已有变量创建新变量,可为实现AB测试提供更多的可能性。
2、对已有变量的值执行MurmurHash2算法得到32位整型哈希数字,记为hash。
3、32位无符号整型的最大数字2^32-1,记为max。
4、哈希数字与最大数字相除hash/max,可以得到百分比percent。
5、配置指令中只是了各个百分比构成的范围,如0-1%,1%-5%等,及范围对应的值。
6、当percent落在哪个范围里,新变量的值就对应着其后的参数。

已有变量

1、字符串
2、一个或多个变量
3、变量与字符串的组合

case规则

1、xx.xx% ,支持小数点后2位,所有项的百分比相加不能超过100% 。
2、* ,由它匹配剩余的百分比(100%减去以上所有相加的百分比)。

split_clients指令

Syntax: split_clients string $variable { ... }
Default: ---
Context: http
#${http_testcli} 从HTTP请求的header中去testcli的
split_clients "${http_testcli}" $variant {
0.51% one;
20.0% two;
50.5% four;
* "";
}
上一篇:
下一篇:

添加评论

电子邮件地址不会被公开。 必填项已用*标注