ページにアクセスがあった時点での、自サイトを観覧している人の数を表示したいのですが、どのような方法があるのか教えていただきたいです。
http://sample.com/ のサイトを運営していると仮定した場合
(1) トップページにおける現在の観覧人数 ( http://sample.com/ )
(2) 特定ページにおける現在の観覧人数 ( http://sample.com/hoge.html )
(3) サイト全体における現在の観覧人数
これらの情報は取得できるのでしょうか?取得方法はphpに限らなくてもよろしいです。方法が複数あるようでしたら、複数の方法を教えていただきたいです。 (おおまかな取得速度・実用度も添えて頂けると助かります)
環境: php5 + mysql5
No.1ベストアンサー
- 回答日時:
方法の1つを書いておきます。
過去10分間のアクセス人数(IPアドレスの個数)を調べて、それを現在のアクセス人数とみなすという話です。
大規模サイトで実際に使用した方法です。
--
HTTPは接続しっぱなしじゃないですから、
リアルタイムな接続数を数えることはできません。
ですが、以下のようにするとリアルタイムな感じが出ます。
Webサーバのアクセスログを開いて、
書かれている日時が例えば過去10分間になっているアクセスを数えます。
一般にアクセスログは巨大で日時の文字列を解釈するのに時間がかかりますから、
アクセスログの例えば末尾10000行を処理します。
(10分間のアクセス数にあわせて調整します。)
--
上記はここで書いた回答です。
http://okwave.jp/qa3270382.html
この回答への補足
回答していただきありがとうございます。
>> 過去10分間のアクセス人数(IPアドレスの個数)を調べて、それを現在のアクセス人数とみなすという話です。
一般にアクセスログは巨大で日時の文字列を解釈するのに時間がかかりますから、アクセスログの例えば末尾10000行を処理します。
なるほど、アクセスログですか!
日時ではなく、アクセス数に応じた末尾の行数で処理をするのが、負荷軽減のポイントなのですね。大人数にも対応できそうですし、実用度がとても高そうです。
勉強になります、ありがとうございました。
補足:
質問後に気になったのですが、チャット部屋などに配置されている人数を数える方法はどのような感じなのでしょうか。
「○○さんが退出しました」 のようにリアルタイムで表示されるやつです。
( ajaxで前回リロードした時間以降のアクセスログを取得して再リロードを繰り返す? )
お分かりになる方がいらっしゃいまいたら、合わせて教えていただけないでしょうか。
また、アクセスログ以外の方法もご存知であればお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP PHPを使って、別サイトの一部を取得して表示したいのです。。 1 2023/01/18 21:45
- Excel(エクセル) Excel 在庫管理について 3 2023/02/09 10:00
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- 物理学 微分方程式の物理現象への適用について 3 2023/05/14 12:22
- Excel(エクセル) エクセル 小数点以下切り捨て 教えてください 1 2022/08/03 19:14
- PHP PHP ページング データベース 1 2022/06/16 10:30
- WordPress(ワードプレス) ワードプレスのパーマリンク設定について 1 2023/02/11 19:08
- PHP $_SESSIONに渡した後はそのまま使っても問題ありませんか? 3 2022/11/08 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
遷移前のページのクエリを取得...
-
MySQLのdatetime型の月日0を削...
-
インクルードした部分が表示さ...
-
フォントの色を変えるには?
-
PHPの設定で、 エラーが発生し...
-
onedrive にexcelファイルをア...
-
Linux:PHPでTELNETによるSMTP...
-
ListViewコントロールでサムネ...
-
ボタンのクリック数を合計保存...
-
ワードプレス、Contact Form 7...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
別ファイルの変数を呼び出した...
-
【file_exists】ファイルが存在...
-
UWSCでファイルのアップロード...
-
PHPExcel処理速度が遅い
-
PHPで`headers already sent`と...
-
【PHP】declare命令で”Fatal er...
-
PHP8を使うと、大量のWarningが...
-
mysql_close()
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLのdatetime型の月日0を削...
-
インクルードした部分が表示さ...
-
sqlで日付が一番古いデータの月...
-
指定した期間の日付生成
-
PHPで外部サイトの一部を取得し...
-
バージョン情報の取得方法について
-
ファイル書き込みでたまにデー...
-
Twitterからのリファラを取得す...
-
file_get_contentsで外部URLフ...
-
携帯用Web画面のリファーラ値の...
-
現在の観覧人数を表示したい
-
取得したプロキシが生きている...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
index.phpに入るには、どうすれ...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
PHP8を使うと、大量のWarningが...
-
別ファイルの変数を呼び出した...
-
index.phpって何ですか? 具体...
おすすめ情報