在 App 引擎上运行的 A/B 测试系统的最简单实现是什么?
我特别热衷于将 Datastore 用于后端(具有较长的查询时间)和数据库设计的性能影响。
在 App 引擎上运行的 A/B 测试系统的最简单实现是什么?
我特别热衷于将 Datastore 用于后端(具有较长的查询时间)和数据库设计的性能影响。
看看Gae/Bingo ,它是一个受A/Bingo启发的 App Engine 的 A/B 拆分测试框架 。
更多信息在这里。
您可以部署两个版本的应用程序:
appcfg.py update -V "A" mysiteA/
appcfg.py update -V "B" mysiteB/
然后创建第三个版本,它简单地选择是将用户代理到 A.latest.mysite.appspot.com 还是 B.latest.mysite.appspot.com。
它现在作为流量拆分功能在 SDK 1.6.3 中普遍可用: http ://code.google.com/appengine/docs/adminconsole/trafficsplitting.html
假设您想测试您的应用程序的不同版本,我建议您使用一些简单的 WSGI 中间件。构建一些东西,将 x% 的用户引导到一个 WSGI 应用程序,将其余的用户引导到另一个应用程序,并按照用户 ID、IP 地址等进行分片。这应该很容易实现,你可以在上面堆放任何你喜欢的东西。
A/B 测试要求将页面 A 显示给某些用户,而将页面 B 显示给其他一些用户。
App Engine 与它无关。App Engine 是一种部署应用程序的方式,而不是直接引导用户浏览页面。
它是您用来根据用户 cookie/会话提供一个或另一个页面的 Web 框架的功能。
以一种简单的方式可以这样做:
然后,在特定的控制器/视图中,根据选定的 A 或 B,将用户服务/重定向到页面 A 或页面 B。将结果(无论您的结果是什么——销售、注册等)记录到数据存储中。
这可以用于任何 Web 框架。你甚至没有告诉你使用哪一个;)