★阿修羅♪ > お知らせ・管理21 > 533.html
 ★阿修羅♪
▲コメTop ▼コメBtm 次へ 前へ
アクセスランキングのカウンタが記事本文のカウンタと違うことがある、ことについての説明 1日に一回合わせてます
http://www.asyura2.com/13/kanri21/msg/533.html
投稿者 管理人さん 日時 2018 年 8 月 16 日 09:07:51: Master iseXnZBsgrOC8Q
 

(回答先: 『阿修羅掲示板のアクセス・ランキングは、阿修羅掲示板の「管理人さん」が操作している』説についての管理人の説明 投稿者 管理人さん 日時 2018 年 8 月 16 日 08:31:24)

http://www.asyura2.com/18/senkyo249/msg/287.html#c80
に書いてある件についての説明

> 通常、阿修羅掲示板の過去の記事は、非常に低い値に設定され直されます。
ランキングデータベースが過去何度かぶっ壊れた時にリセットされました。
最近はぶっ壊れてないのでそのままです。

> また、阿修羅掲示板のアクセスランキングのページで表示されるアクセス数は、記事本文に表示されるアクセス・カウンタに表示されるアクセス数よりも、大きい数である場合があります。

これは1日に一度合わせてます、アクセスランキングの数にアクセス・カウンタに表示される数が上書きされます。要するに朝には同じになってます。

何を言ってるのか不明だと思いますので説明します。

アクセスランキングプログラムの処理は非常に膨大で、管理人も何をどうやって処理しているのか難しくてよくわかりません。
スーパーな技術者にお願いして1年くらいかけて作っていただいたものです。


何が難しいのかの項目だけ書いてみます。
・毎日大量のアクセスがある。
・記事も大量にある。
・それぞれの記事のアクセス数を数えている。
・それぞれの記事の1時間、24時間、3・7・30・90・365日と全期間のアクセス数をランキングに出す。★これが一番難しそう。
・それぞれの板ごとのアクセスランキングを作る。

★これが一番難しそう、なところを説明します。
阿修羅掲示板の全ページ数は100万ページ以上あります。
全期間のアクセス数を数えるためにはカウンターが100万個だけ必要です。
365日のアクセス数を数えるためには、366日目になったら其の分のアクセス数を差し引いて処理するのでアクセスカウンターには数だけで無く日付の情報が必要です。さらに板ごとの情報も。
このため、あるページについての情報は直近1年分の毎日のアクセス数が必要となります。
すると100万ページx365日=365万の情報が必要。
情報がここまで多くなると、適当に作ったプログラムでは時間がかかって処理時間がパンクして運用できません。

1日の処理で24時間のランキング、3日間ランキング、7,30,90,365日ランキングを毎日稼働するように短時間で処理が必要です。
ランキングですからソートして大きい順に並べますが、全データ数365万あるので処理が大変。

とまぁ、いろいろと処理があるのですが、さらに毎秒ページアクセスの情報がいくつも加算されていきます。

それらの処理でアクセスランキングのCPUが手一杯になっています。

毎回のページアクセスで、そのページのそれまでの総アクセス数をアクセスランキングサーバーに問い合わせしているとサーバーの処理が限界になってアクセスカウントができなくなる可能性が出てきたのです。

そこで、毎回のアクセスではアクセスランキングサーバーにはページアクセスを加算するだけにして(1行加算するだけなのでCPU負担は少ない)、アクセスランキングサーバーではそれまでのアクセス数の数字は戻さない(今までの総アクセス数を戻す処理はCPU負担が大きい)。

その代わりに、別のサーバーで超簡単な仕組みでアクセス数を数えてそれを表示する。

おおよそ同じ数になるはずだけど違ってくる場合もあるだろう。
そのためにそのページの1日の最初のアクセスで、アクセスランキングサーバーからアクセス数を1回だけ取得して、それを仮アクセス数に上書きする。ということをやっています。

まぁ、要するに、アクセスランキングサーバーの数字を正として使うんだけど、アクセスランキングサーバーは忙しいので仮に別のサーバーで数えておいて1日一回リセットしてます。

参考:阿修羅のサーバー構成
asyura2.com メインサーバー。記事がある。専用サーバー:1台まるごと借りてる
asyura3.com ランキングサーバー。専用サーバー:1台まるごと借りてる
asyura.us 拍手サーバー。ホスティングサーバー。間借り。超簡単なアクセスカウンタはここで動いてます。  

  拍手はせず、拍手一覧を見る

コメント
1. 管理人さん[2453] iseXnZBsgrOC8Q 2019年3月30日 00:57:22 : ZFZHYmRTRUo3YS4=[72] 報告
例えて言うと、注文を取ってきた営業さんが事務に電話して
「注文1個取りました。私の今の注文総数はいくつですか?」
事務『えーっと、数えますね。えーっと、92です。』

と、毎回やってると事務の作業がパンクしてしまう。

そこで、以下の様にする。

営業さんは朝に今までの自分の注文総数を事務に聞いて覚えておく。
日中は営業さんが自分で数を数えて表示しておく。事務に聞かない。
事務には注文伝票を渡すだけ。

事務は注文伝票を刻々と処理するんだけど、毎回営業さんに今までの注文総数を返答しなくていいので少しだけ処理が軽い。

営業さんは同じお客からの注文をそのたび加算していくけど、事務では同じお客さんからの注文は1つの注文にまとめるなどの数え方の違いがあるので少し数が変わる場合があるが毎朝事務が出した数値に合わせる。

2. 管理人さん[2457] iseXnZBsgrOC8Q 2019年4月02日 07:54:31 : ZFZHYmRTRUo3YS4=[76] 報告
そうはいっても管理人がこっそり変えてるんじゃ無いかと思ってしまってモヤモヤしてしまう人は
ご自分で納得できるアクセス数の確認方法を思いつきましたのでやってみてください。

忍者アクセス解析 http://www.ninja.co.jp/analyze/ でご自分でアカウントを取り、アクセス解析タグを発行し、自分の投稿記事にセットしてくださいませ。投稿時の記事にセットしても、後からコメントに追記してもOKです。
注意点として阿修羅の投稿とコメントではhtmlコメントタグを入れるとカットされてしまうので、忍者アクセス解析タグの最初と最後のhtmlコメントタグ<!−− こんなの ーー> 部分をカットすればOKです。無料です。

管理人が忍者アクセス解析タグをテストで入れてみた記事・コメント http://www.asyura2.com/14/test31/msg/861.html

これで、★阿修羅♪掲示板管理人とは全く切り離されたアクセス解析結果が独自に取得できます。10記事くらいに追加していただければ、阿修羅公式アクセス数とご自分で設置したアクセス解析との差分がどの程度あるかがわかってくると思います。結果を報告していただけますと他の人も参考になると思います。

▲上へ      ★阿修羅♪ > お知らせ・管理21掲示板 次へ  前へ

  拍手はせず、拍手一覧を見る

フォローアップ:


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)|(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(なしでも可能。あったほうが良い)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
最新投稿・コメント全文リスト  コメント投稿はメルマガで即時配信  スレ建て依頼スレ

▲上へ      ★阿修羅♪ > お知らせ・管理21掲示板 次へ  前へ

★阿修羅♪ http://www.asyura2.com/ since 1995
スパムメールの中から見つけ出すためにメールのタイトルには必ず「阿修羅さんへ」と記述してください。
すべてのページの引用、転載、リンクを許可します。確認メールは不要です。引用元リンクを表示してください。
 
▲上へ       
★阿修羅♪  
お知らせ・管理21掲示板  
次へ