本文将介绍在 Nginx 配置简易 A/B 测试的姿势。
#背景前提
有时候我们需要简单的做一些 A/B 测试,并不需要复杂的判断条件,这时候我们可以用到 Nginx 的 ngx_http_split_clients_module 模块。
#安装 ngx_http_split_clients_module 模块
一般来说这个模块已经自带,如果没有的话推荐安装我们打包的 N.WTF
#配置 Nginx
这里举例,我们想要 20% 的用户跳转到网址 https://example.com/,30% 的用户跳转到网址 https://example.org/,剩下的跳转到网址 https://examle.edu/:
上述例子中,按照访客请求的 IP 地址 加上 AAA 字符串 会使用 MurmurHash2 转换成数字,如果得出的数字在前 20%,那么 $variant 值为 https://example.com/,相应的在中间 30% 区间的值为 https://example.org/,其他的为 https://example.edu/。
然后我们找两台不同 IP 的机器进行测试:
机器 A:
机器 B:
然后就可以有更灵活的用法,比如指定不同的目录:
指定不同的首页:
读者可以举一反三,这个比较简易的 A/B 测试就完成啦~











