AppEngineで実行されているA/Bテストシステムの最も簡単な実装は何でしょうか?
私は特に、バックエンド(クエリ時間が長い)とデータベース設計にデータストアを使用することのパフォーマンスへの影響に熱心です。
AppEngineで実行されているA/Bテストシステムの最も簡単な実装は何でしょうか?
私は特に、バックエンド(クエリ時間が長い)とデータベース設計にデータストアを使用することのパフォーマンスへの影響に熱心です。
アプリケーションの 2 つのバージョンをデプロイできます。
appcfg.py update -V "A" mysiteA/
appcfg.py update -V "B" mysiteB/
次に、ユーザーを A.latest.mysite.appspot.com または B.latest.mysite.appspot.com にプロキシするかどうかを選択するだけの 3 番目のバージョンを作成します。
SDK 1.6.3 でトラフィック分割機能として一般に利用できるようになりました: http://code.google.com/appengine/docs/adminconsole/trafficsplitting.html
アプリのさまざまなバージョンをテストする場合は、単純な WSGI ミドルウェアを使用することをお勧めします。x% のユーザーを 1 つの WSGI アプリに誘導し、残りのユーザーを別の WSGI アプリに誘導するようなものを作成します。ユーザー ID、IP アドレスなど、適切なもので分割します。これは非常に簡単に実装できるはずで、その上に好きなものを積み上げることができます。
A/B テストでは、ページ A を一部のユーザーに表示し、ページ B を他のユーザーに表示する必要があります。
App Engine は関係ありません。App Engine はアプリケーションをデプロイする方法であり、ユーザーをページに誘導する方法ではありません。
これは、ユーザーの Cookie/セッションに基づいて、あるページまたは別のページを提供するために使用する Web フレームワークの機能です。
簡単な方法では、次のように実行できます。
次に、特定のコントローラー/ビューで、選択した A または B に基づいて、ユーザーをページ A またはページ B に提供/リダイレクトします。結果 (結果が何であれ、販売、登録など) をデータストアに記録します。
これは、どの Web フレームワークでも実行できます。どちらを使用するかさえ教えていませんでした;)