我远非 Apache 或任何服务器方面的专家,因此,如果这个问题表述不当,我深感抱歉,事实可能如此。
我们一直依赖供应商分割路径测试(又称“AB 测试”)。如果您不熟悉该术语,它是一种营销研究形式,您可以稍微修改您的一个网页(通常是最接近转化点的网页),例如,通过更改“立即购买”按钮的位置或其颜色/对比度/纹理,然后根据随机选择将这两个页面中的一个提供给给定用户。
通过我们自己进行分割路径测试,我认为我们可以更便宜地完成它并同时增加周期时间。
这些测试的最佳设置是什么?“最佳”基于以下标准:
新测试的建立和上线速度和难易程度如何;以及
对网站整体性能的影响最小
答案1
如果您拥有任何规模的环境,您可能拥有冗余服务器(至少一对,如果不是更多的话)。鉴于此,我在这里的选择是将一半服务器上的配置更新为 reflect Path A
,另一半服务器的配置更新为 reflect Path B
。
对于例如 puppet 或 chef 来说,这相对简单。
从那里开始,您的常规负载平衡系统将接管,并有望在您的集群中均匀分布您的用户,这确保您在每条路径上获得一组无偏的随机用户(只要您的负载平衡本质上是平等的)。
在我看来,这有几个实际的优点:
- 您不必担心随机路径选择。您的负载均衡器会为您完成这项工作。
- 如果一条路径的表现很糟糕,您可以禁用这些服务器,直到更新它们为止。
- 如果某个路径导致网站无法使用(代码错误或类似情况),您只会破坏部分服务器。用户可以继续在其他正常运行的机器上执行交易。
- 您的用户可能不会注意到这一变化。
但也有一些缺点:
- 您可能无法控制用户去往何处。
由于您的负载均衡器不知道用户是谁,因此您无法制定“John Doe 通过路径 A,Jane Smith 通过路径 B”等规则。 - 您必须为每个路径维护一个服务器配置文件。
如果您的配置管理合理,这可能不会太费事。 - 您不能轻易拥有复合路径。
使用此模型,您只能拥有端到端的完整路径。您不能将某人从链中分离出来并让他们走一条岔路。
无论如何,这种绕行路径很难分析,所以我认为这不会成为交易的障碍。