ページにアクセスがあった時点での、自サイトを観覧している人の数を表示したいのですが、どのような方法があるのか教えていただきたいです。
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ランキング
-
インクルードした部分が表示さ...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
FTPコマンドでディレクトリごと...
-
.phpと.incファイルの違いはな...
-
【file_exists】ファイルが存在...
-
MAPI コンポーネントを使ったメ...
-
VBSの「MsgBox」について
-
サーバ無しでphpを動作させる
-
現在位置より2つ上のディレク...
-
バッチファイルで特定ファイル...
-
別ファイルの変数を呼び出した...
-
シェルスクリプトからphpファイ...
-
VB6にてメールを送信する方法
-
「@$変数」の「@の意味は?」
-
Smartのカスタマイズでエラー
-
PHP session_destroyとsession...
-
PDFlib・・・日本語表示の設定??
-
.htaccessにphp_valueが使用できな
-
form actionで二つ送信先を指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
インクルードした部分が表示さ...
-
MySQLのdatetime型の月日0を削...
-
sqlで日付が一番古いデータの月...
-
同じ日付が取得できない
-
3ヶ月後の日時を取得する方法
-
TwitterのURLからツイート内容...
-
指定した期間の日付生成
-
取得したプロキシが生きている...
-
ポータルサイトの店舗単位のア...
-
遷移前のページのクエリを取得...
-
携帯用Web画面のリファーラ値の...
-
Twitterからのリファラを取得す...
-
PHPで外部サイトの一部を取得し...
-
PHPのsetcookieをjavascriptで取得
-
フォルダ内のファイル名取得の...
-
file_get_contentsで外部URLフ...
-
フォントの色を変えるには?
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
こちらはただの直列処理ですか?
おすすめ情報