紹介ページの数字はどこから来るか
aboutページの上部には現在、6つの数字が並んでいます。今まさにオンラインの人数、昨日の訪問者数、使用中のカウンター数、過去30日間の国の数、選べるデザインの数、そしてこのサービスが始まった年です。この6つはすべて稼働中のシステムから直接得られたものであり、そのうち2つは、ページを見ている間にも値が変わります。
これは説明しておく価値があります。この種のページに載っている数字は、たいてい本物の数字ではないからです。
それぞれの数字の出どころ
「今まさにオンライン」は、カウンターを設置しているいずれかのサイトで、過去5分以内に確認されたすべての人を指します。小さなテーブルへの1回のクエリで、所要時間は0.6ミリ秒のため、このページは開かれるたびに毎回その場で問い合わせています。
「昨日の訪問者数」は、すべてのカウンターを合わせた、昨日1日分の重複しない訪問者数です。今日ではなく昨日を使っているのは、半日分の数字は何かと比較できる値にならないからです。所要時間は11ミリ秒で、こちらもリクエストのたびに毎回問い合わせています。
「使用中のカウンター数」と「国の数」は、コストのかかる2つです。過去30日間に何らかの記録があったカウンターを数えるのに、このハードウェアでは0.9秒弱かかり、重複しない国の数を数えるのに0.2秒かかります。ページビューのたびにこの2つを問い合わせると、訪問のたびに1しか変わらない数字のために、データベース側で1秒分の時間を使ってしまうことになります。そのため、これらは1日に1回だけ計算し、コードのそばにある小さなファイルに保存しています。
「デザイン数」は、ギャラリーを生成しているのと同じファイルから得られるため、実際に選べる数からずれることがありません——現在691です。2006年は、テーブルに今も残っている最も古いカウンターの年です。日付まで言うなら11月18日です。
「使用中のカウンター数」であって、「これまでに作られたカウンター数」ではない
これは、サービスの運営者が何を言うかを選べてしまう部分なので、ここではその選択の内容を明らかにしておきます。
2006年以降、379,174個のカウンター番号が発行されてきました。そのうち2,124個が、過去30日間に訪問を記録しています。最初の数字のほうが大きく、これも事実ですが、これが表しているのは書庫のようなものです。2つ目の数字が表しているのは、今稼働しているものです。ページに載っているのは2つ目の数字であり、その下のラベルには、2つのうちどちらであるかが明記されています。
この方式についての、2つの細かな点
キャッシュされたこの2つの数字には、計算された日付が付与されています。その日付が今日でなくなると、ページは再計算を行います——そしてその際、新しい日付は処理を始めたあとではなく、始める前に書き込みます。そうしないと、深夜0時を過ぎた同じ1秒の間に2人がページを開いた場合、両方が遅いクエリを発生させてしまい、接続ごとに専用のプロセスを割り当てるこのマシンでは、それがほかの全員にとって遅いページになって跳ね返ってきます。
クエリが失敗した場合、そのタイルはゼロを表示するのではなく、消えます。ゼロを表示することは、それ自体が1つの主張になってしまうからです。
ページのそのほかの部分
これと同時に、カウンターとは実際には何なのか、統計ページには何が表示されるのか、訪問者のデータはどうなるのか、一般的なアクセス解析スクリプトとの率直な比較、そしてよく寄せられる質問についても書き直しました。翻訳も、これまでの5言語から、11言語すべてに対応しました。
以前そのページに載っていた内容の一部は取り除かれており、それについては別記事が必要になるほどでした。