1

自分のサイトでのユーザーのページビューを追跡することに興味があります。トラフィックが急速に拡大しているので、ロボットなどが心配です。また、追跡されたデータをライブで使用してユーザーエクスペリエンスを変更できるようにしたいと考えています(したがって、Googleアナリティクスを使用していますが、この目的には役立ちません) 。

私の情報を保存するための最も効率的な方法は何ですか?これが私の現在の理論です。批評したり、より多くのアイデアを提供してください:)

戦略:ロード時にクライアントからIP、ページURL、ブラウザー/バージョン、タイムスタンプ、参照を収集し、MySQLに行を挿入します。時間またはパフォーマンスに基づいて、テーブルを「アーカイブ」して行を削除するか、cronを介して新しい行を作成する間隔を決定します。

これは安定していますか?

4

2 に答える 2

2

完全にはわかりませんが、ユーザーのテーブル(Cookieまたはセッションを介してユーザーIDを割り当てる可能性があります)、ページのテーブル(生成方法によっては、実用的かどうかはわかりません)、そして、各ユーザーIDがどのページを(いくつかの一意のページID識別子を介して)見るかを示す追跡テーブル?

Pages:
page_id | page
01      | homepage
02      | site map
03      | about us

users
user_id  | user_ip_or_cookie_identifier
01       | 127.0.0.1
02       | 192.168.0.2

tracking
user_id  | page_id
01       | 01
01       | 03
02       | 01
01       | 02

(等...)

次に、単純なMySQL(または使用しているDB)クエリを使用して、どのページがどのユーザーによって表示されたかを取得します。

主な弱点は、ユーザーが職場/自宅とは異なる識別子を持ち(ログインしない限り)、各IPアドレス、場合によっては各Cookie /セッションに複数のユーザーがいることです(ユーザーがワークステーションを共有する際のオープン度によって異なります)。 / pcs)。

于 2009-11-19T23:02:11.277 に答える
1

合理的に聞こえます。挿入をできるだけ高速にしたい場合は、そのテーブルをMYIASMにし、インデックスを作成しないでください。

于 2009-11-19T22:56:46.077 に答える