
ページにアクセスがあった時点での、自サイトを観覧している人の数を表示したいのですが、どのような方法があるのか教えていただきたいです。
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ランキング
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
BASIC認証のフォームをデザイン...
-
SplFileObject を利用したとき...
-
php 確認表示画面で値をSESSION...
-
phpの問い合わせフォームを作っ...
-
PHPを使って、別サイトの一部を...
-
if(preg_match("/[^0-9]/",$gu_...
-
PHP8を使うと、大量のWarningが...
-
phpのクラスメソッドの定義が長...
-
SFTPなどは使わないホームペー...
-
php 完了画面の送信メールのコ...
-
フォームで戻った際に入力済み...
-
php でqiitaのサイトにあったフ...
-
返信機能のツリー構造の深さを...
-
プログラミング言語で、使える...
-
index.phpに入るには、どうすれ...
-
phpでクラスのメソッドで同名の...
-
ファイルアップロードに関して...
-
掲示板のセキュリティについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sqlで日付が一番古いデータの月...
-
インクルードした部分が表示さ...
-
MySQLのdatetime型の月日0を削...
-
現在の観覧人数を表示したい
-
PHPで外部サイトの一部を取得し...
-
サーバーOS、バージョンの差...
-
PHPでのRAWデータの受け取り方
-
TwitterのURLからツイート内容...
-
同じ日付が取得できない
-
遷移前のページのクエリを取得...
-
取得したプロキシが生きている...
-
rewrite→リダイレクトURL→パラ...
-
サーバサイドで現在位置の取得
-
file_get_contentsで外部URLフ...
-
プロキシを通過してツイッターA...
-
phpでタグの座標位置を取得...
-
SSLと非SSL対応、且つ複数階層...
-
Twitterからのリファラを取得す...
-
phpについて 別ページのタイ...
-
PHPのsetcookieをjavascriptで取得
おすすめ情報