App Engine 上的 A/B 测试?

发布于 2024-08-29 04:02:15 字数 88 浏览 3 评论 0原文

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

我特别热衷于使用数据存储进行后端(查询时间很长)和数据库设计的性能影响。

What would be the simplest implementation of an A/B testing system running on App engine?

I'm especially keen towards performance implications of using Datastore for back-end (with looong query times), and database design.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

清君侧 2024-09-05 04:02:15

看看 Gae/Bingo,它是一个针对 App Engine 的 A/B 对比测试框架,其灵感来自于
A/Bingo

更多信息请点击此处

Have a look to Gae/Bingo, it's an A/B split-testing framework for App Engine inspired by
A/Bingo.

More information here.

守望孤独 2024-09-05 04:02:15

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

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

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

You could deploy two versions of your application:

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

And then create a third version that simply chooses whether to proxy a user to A.latest.mysite.appspot.com or B.latest.mysite.appspot.com.

棒棒糖 2024-09-05 04:02:15

现在,它已在 SDK 1.6.3 中作为流量分割功能全面提供:
http://code.google.com/appengine/docs/adminconsole/trafficsplitting.html

It is now generally available in SDK 1.6.3 as Traffic Splitting feature:
http://code.google.com/appengine/docs/adminconsole/trafficsplitting.html

撩人痒 2024-09-05 04:02:15

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

Assuming you want to test different versions of your app, I would suggest using a simple bit of WSGI middleware. Build something that directs x% of users to one WSGI app, and the remainder to another, sharded by whatever suits - user ID, IP address, etcetera. This should be pretty straightforward to implement, and you can pile whatever you like on top of it.

女中豪杰 2024-09-05 04:02:15

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

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

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

可以用一种简单的方式来完成,如下所示:

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

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

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

A/B test requires to show page A to some users, while page B to some other users.

App Engine has nothing to do with it. App Engine is a way to deploy applications, not direct user along the pages.

It's the function of the web framework you use to serve one page or another based on user cookie/session.

In a simple way it could be done like this:

  • Get user cookie
  • Find it in datastore
  • Found? Use the same set of pages (A or B) as the last time
  • Not found? Choose A or B randomly, save the choice into datastore along with cookie
  • (May be) Place the choice into session for fast access

Then, in specific controllers/views, based on selected A or B, serve/redirect user to page A or page B. Record the outcome (whatever your outcome is -- sale, registration, ...) into datastore.

That can be done for any web framework. You didn't even told which one you use ;)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文