![]() 新・KUNISAN.JPサイト管理ページの完成名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年2月16日 ![]() ![]() 管理用のページなので残念ながらアドレスの公開はできませんが、ざっと内容を紹介するとこんな感じです。 ■トップページ ・各ページの最近一週間のアクセス数(UV、PV)表示 ・各ページの開設時からのアクセス数(UV、PV)表示 ・ドメイン全体のアクセス数合計(UV、PV)表示 ・データ詳細画面へのリンク ・掲示板、ブログの「コメントあり」アラーム ・掲示板、ブログのブロック解除、編集画面へのリンク ■詳細画面の機能 ・アクセス履歴一覧表示(UV、PV、アクセス日時、アクセス元サイトなど) ・各項目(フィールド)の昇順、降順切替 ・日付でのフィルタリング ・キーワードでのフィルタリング ・グラフ表示(日別、時間別、アクセス元IPランキング、アクセス元ドメインランキング、閲覧ページランキングなど) ・IPアドレスのWhois検索 ![]() ![]() 今までのアクセス解析プログラムは、サーバーのCGI処理での負荷限界があったため、1サイトあたりのデータが最大2500件を超えると、日付に関わらず古いデータから自動的に削除するようにしていました。しかし、今回製作したものは200GB超のスペースにMySQL+PHPという組み合わせで、基本的に古いデータもそのまま保持し続けます。現在のアクセス数でデータが蓄積されていくとして、軽く数十年の単位は持つ計算になるので、恐らくサーバーとして使用しているネットブックの方が先に寿命が来てしまうのではないかと思います(万が一に備えて、1日1回自動でデータのバックアップを取っています)。 当初、データベースにはテーブルを1つだけ置いて、各サイトにID(サイト名)を振り分けてデータを蓄積していきました。サイト別になっているPVやUVのカウントには、一度データベースから該当サイトのPVとUVの最大値を読み込んで、PHP上で1つ数字を加えて、アクセス履歴と共にレコードに追加するという形を取っていました。しかし、「数十万件のデータをサイト名でフィルタリング&グループ化して1つ取り出す」というのを、平均2秒に1回のペースでこなさなければならず、アクセスが少しでも集中すると、フリーズしたような状態になってしまい、正常にカウントされなくなる現象が出ることが分かりました。MySQLのバッファ設定をいじったりもしましたが、全く改善しません。ネットブックを調べてみると、CPU使用率が時折100%の状態になってしまうようです。Atom N280(1.66GHz)搭載程度のスペックでは、少々無理のある処理でした。 そのため、テーブルをサイト毎に分割して管理するよう変更し、さらにPVについてはフィールドの自動カウント機能(Auto Increment)を使うようにして、クエリー処理の負荷を減らすようにしてみました。するとCPU使用率が平均10%前後と大幅に下がり、比較的負荷の高い状態でも50%程度で収まるようになりました。 分析ツールはひとまず完成しましたが、後はこのデータを活用した「ニーズのあるサイト」を作れるようになれば、と思うところです。 Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)
![]() 最近の記事: 直腸肛門周囲膿瘍(痔瘻)の根治手術で入院 / 神崎君のアドベンチャーランド - プチコン4で横スクロールアクションゲーム / ロジクール ワイヤレスマウスキーボードセット(無線) MK270G / コンクリートゲーム2 - プチコン4で「崩す」ゲーム / Duolingo - 初心者向け外国語学習アプリ / 老眼鏡を購入 / 東京競馬場の指定席で初観戦 / スターバックスコーヒー エミオ石神井公園店 / インテリ君の英語遊び 経営・管理部門編 - プチコン4でビジネス英語の学習ゲーム / 直腸肛門周囲膿瘍再発で入院&手術
■ ホームへ
|