PHP+MySQLアクセス解析プログラムのその後名前: 小川 邦久 リンク: http://kunisan.jp/ 日付: 2010年3月5日
設置から3週間ほど経過したアクセス解析プログラムですが、ようやくここに来て、MySQLの動作が落ち着くようになりました。
当初はテーブル1つで全サイトのアクセスデータを取っていましたが、さすがにこれではサイズが大きすぎて、Webサーバーとして稼働しているネットブックが高負荷になってしまいました。 そのため、サイト毎にテーブルを分割する方式を取りました。しかしこれでも一日数万アクセスのあるブログパーツの影響で、改良から10日ほどでCPU使用率が100%に達する現象が頻繁に出るようになりました(平均で30%強)。その後、ブログパーツをアクセス解析の対象から外してみたところ、CPU使用率が平均10%に見たない数字になりました。 ここまでで大分落ち着いてはきたのですが、やはりデータが貯まってくると、「問い合わせ」の際の負荷が大きくなる現象は解消できていません。特にページアクセスの度に行われるデータ追加処理にも、事前に「問い合わせ」の処理が不可欠なので、時間が経ってデータが貯まれば貯まるほどCPUが高負荷になるという状況がそのまま続いていました。 そのため、サイト毎に分割したテーブルを、さらに「アクティブデータ」と、「アーカイブデータ」に分割しました。「アクティブデータ」はページアクセス時などデータの読み書きに頻繁に使用されるデータ、「アーカイブデータ」は分析・参照用などサイト管理者(つまり私)のみが使うデータです。 「アクティブデータ」は24時間に1回、自動的に1週間以上前に追加されたデータを「アーカイブデータ」に移動する処理を行っています。これにより、データの読み書きに使うテーブルの大きさを制限できるため、ネットブックの負荷がある一定のレベルを超えることがなくなりました。 なお、データを分析する際には、MySQLの「UNION ALL」コマンドで「アクティブデータ」「アーカイブデータ」を縦に連結してまとめるようにしています。 表には出てこないアクセス解析プログラムを、ここまで詳細に語るのも何なのですが、近い将来プログラムをセットで公開する予定です。使う人がいるかどうかはわかりませんが、PHP+MySQLが使える環境であれば、どこでも動くような形に改良しておこうと思います。 Web管理関連記事(リンク一覧): SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / さくらレンタルサーバーのアクセス履歴をPHPで表示 / PHPで画像のアップロード(さくらレンタルサーバーのPHPでImageMagick) / KUNISAN.JPサイトのメンテナンス(2018) / Webサーバー引っ越し(さくらインターネット スタンダード)とHTTPS(常時SSL)化 / ...(記事連続表示)
最近の記事: プチエアホッケー - プチコン4でシンプルなエアホッケーゲーム / 今までに行ったことのあるスキー場まとめ(2024年) / ムカデ四匹対戦ゲーム - プチコン4でCOM対戦型ゲーム / 富士見パノラマリゾート(2024年2回目) / よませ温泉スキー場 / ガーラ湯沢スキー場(2024年3回目) / SPF、DKIM、DMARCの設定とネームサーバー(DNS)設定のトラブル / 朝一のKFC初体験(よりジューシーなチキン) / 富士見パノラマリゾート(2024) / ガーラ湯沢スキー場(2024年2回目)
■ ホームへ
|