3

在 App 引擎上运行的 A/B 测试系统的最简单实现是什么?

我特别热衷于将 Datastore 用于后端(具有较长的查询时间)和数据库设计的性能影响。

4

5 回答 5

5

看看Gae/Bingo ,它是一个受A/Bingo启发的 App Engine 的 A/B 拆分测试框架 。

更多信息在这里

于 2011-09-15T06:39:08.183 回答
4

您可以部署两个版本的应用程序:

appcfg.py update -V "A" mysiteA/
appcfg.py update -V "B" mysiteB/

然后创建第三个版本,它简单地选择是将用户代理到 A.latest.mysite.appspot.com 还是 B.latest.mysite.appspot.com。

于 2010-12-11T17:44:04.990 回答
2

它现在作为流量拆分功能在 SDK 1.6.3 中普遍可用: http ://code.google.com/appengine/docs/adminconsole/trafficsplitting.html

于 2012-02-29T18:58:20.023 回答
1

假设您想测试您的应用程序的不同版本,我建议您使用一些简单的 WSGI 中间件。构建一些东西,将 x% 的用户引导到一个 WSGI 应用程序,将其余的用户引导到另一个应用程序,并按照用户 ID、IP 地址等进行分片。这应该很容易实现,你可以在上面堆放任何你喜欢的东西。

于 2010-04-14T09:32:54.283 回答
-1

A/B 测试要求将页面 A 显示给某些用户,而将页面 B 显示给其他一些用户。

App Engine 与它无关。App Engine 是一种部署应用程序的方式,而不是直接引导用户浏览页面。

它是您用来根据用户 cookie/会话提供一个或另一个页面的 Web 框架的功能。

以一种简单的方式可以这样做:

  • 获取用户cookie
  • 在数据存储中找到它
  • 成立?使用与上次相同的一组页面(A 或 B)
  • 未找到?随机选择 A 或 B,将选择与 cookie 一起保存到数据存储中
  • (可能是)将选择放入会话中以便快速访问

然后,在特定的控制器/视图中,根据选定的 A 或 B,将用户服务/重定向到页面 A 或页面 B。将结果(无论您的结果是什么——销售、注册等)记录到数据存储中。

这可以用于任何 Web 框架。你甚至没有告诉你使用哪一个;)

于 2010-04-14T13:40:21.407 回答