web-dev-qa-db-ja.com

オンラインのユーザー数を追跡する方法

ウェブサイトで何人の訪問者がオンラインであるかを確認できるように、良いサービスが必要です。高トラフィックを処理できる優れた信頼できるサービスが必要です。 (私の手書きのスクリプトは、トラフィックの多いピーク時に失敗しました!)

ありがとうございました!

追伸信頼性の高いサービスが必要です。無料か有料かは気にしません。信頼できるデータが必要です!ありがとうございました!

1
kari_kari

Cliky が好きです。

Clickyは、リアルタイムのWeb分析サービスです。つまり、ログインして統計を表示すると、Webサイトへのトラフィックに関する最新のデータが表示されます。ほとんどのサービスでは、翌日まで「今日」何が起こっているかを見ることができません。

ただし、トラフィックに問題がある可能性があります。ここで、登録時に彼らが言うことを示します。

現在、1日あたり500,000ページビューを超えるサイトを受け入れることはできません。

2
Pascal Qyy

HTTP のステートレスな性質により、特定の時間にサイトのコンテンツを表示しているユーザーの数を正確に把握するのが難しくなります-ユーザーがサイトからコンテンツをダウンロードした可能性がありますまた、コンテンツが数分または数時間前にダウンロードされた場合でも、そのコンテンツを読んでいます。

サイトをアクティブに閲覧しているユーザーの数を追跡する1つの方法は、ヒットごとにサーバー側セッションを作成することです。この方法は、各セッションがサーバーには追加のリソースが必要です。また、セッションタイムアウトは、セッションタイムアウトの時間枠を超えてコンテンツを表示しているユーザーを必然的に除外します。

特定の時間に何人のユーザーが開いているウィンドウにコンテンツを持っているかを確認する最も効果的な方法は、Javascriptタイマーをコンテンツに追加し、そのタイマーで、少数のリクエスト(できればセカンダリトラッキングサーバーへ)を数回行うことですユーザーがサイトのコンテンツをstill表示していることを示す秒。

この方法でreal-time追跡を実装する商用サービスを認識していませんが、独自のサービスをまとめることはそれほど難しくありません。非同期Javascriptとサーバー側のスクリプト言語に慣れています。

2
danlefree

Google Analytics を試しましたか?無料で非常に信頼できます。大量のトラフィックがある場合は問題が発生する可能性がありますが、そのレベルにまだ近いとは思えません。

編集:さて、あなたの質問を誤解したと思います。スクリプトが何をしていたのか正確にはわかりませんが、オンラインで訪問者の数を表示するのは非常に簡単です。すべてのページ要求で、データベーステーブルにIPアドレスと日付を記録します。次に、誰がオンラインであるかを表示するには、過去15分程度(または必要に応じて最大30分)にアクセスしたすべての一意のIPアドレスを選択します。

それは非常に軽量であるはずですが、ピーク時に障害が発生している場合は、おそらく最適化できます。 Stack Overflow で問い合わせてみてください。

0
DisgruntledGoat