如何同时运行两个版本的静态网站进行A / B测试?

时间:2012-04-24 05:13:22

标签: html testing usability

例如我有一个非常简单的网站,只有HTML / CSS / Javascript基于没有php,.net,正在使用ruby。我网站的一些访问者应该看到版本“A”,而其他访问者看到版本“B。

站点托管在Apache服务器上

3 个答案:

答案 0 :(得分:1)

一种方法是将Apache作为负载均衡器运行,在站点的两个不同版本之间“平衡”(这是他们自己在其他端口上运行的vhost)。当有人连接时,apache会随机将它们指向站点的版本A或版本B.您可以使用mod_proxy_balancer执行此操作。它还支持“粘性”平衡:也就是说,您可以设置一个cookie,以便一旦客户端进入版本A,它们总是被定向到版本A(同样版本B)。

答案 1 :(得分:0)

答案 2 :(得分:0)

一种方法是分析IP地址或范围。

创建IP地址/范围列表

$ips = array(
    "a" => array( 'xxx.xxx.xxx.xxx', ....),
    "b" => array( 'xxx.xxx.xxx.xxx', ....),
);

现在,使用$_SERVER['REMOTE_ADDR']并切换域

if(in_array($ips['a'], $_SERVER['REMOTE_ADDR'])) {
    header("location: website.com/a");
} else {
    header("location: website.com/b");
}
exit;