PHPでMT4のタグ検索を高速化

先日リニューアルしたPlayground@senmasa.comは、MT4で吐き出しています。また、すべてをタグで語ろうと試みています。エントリー数の割りにタグが多かったためか、タグ検索の一つ一つが遅くて閉口していたのですが、先日抜本的な対応を行いましたのでご報告します。

Playgroundのタグ検索は、TREND SPOTTINGさんで紹介されていた方法(MTの検索結果やタグのURLをすっきりさせる)を参考に、<ブログURL>/tag/<URLエンコードされたキーワード>という形式のURLに変更していました。ただし、TREND SPOTTINGさんの方法はURLの読み替えがキモでしたがこちらは<ブログURL>直下にtag.phpというスクリプトを用意してその中でcgiをインクルードするという方式をとりました。


もう、重いの何の。


しばらく放置していたのですが、借りているサーバーのCPU負荷がえらいことになってしまったのと、何よりも自分が耐えられなくなって修正を決意。
tag.phpの中でmtのデータベースに直接SQLを投げて結果を表示するという形に変更しました。その際、MTの各テンプレートモジュールは、サーバーサイドインクルードを「PHPのインクルードで処理する」としておくとtag.phpの中で同じインクルードを書くことでページデザインを統一できるのでお勧めです。

結果:良好。負荷ポイント数(私が契約しているサーバー屋さん独自の算出方法らしい)が、前日までは4000を越えていたのが0になりました。また、タグ検索結果を表示するのにそれまで15秒かかっていたのが1秒強まではやくなりました。
SQLとか、tag.phpの中身は恥ずかしいので書きませんが、そう難しくはないはずです。PHPの使える環境で同様の悩みをお持ちの方は検討してみてはいかがでしょうか。

アーカイブ

Books

角のロワイヤル 定吉七番シリーズ 太閤殿下の定吉七番 定吉七番シリーズ 未来放浪ガルディーン(1) 大熱血。 未来放浪ガルディーン(2) 大暴力。 未来放浪ガルディーン外伝(1) 大出世。 未来放浪ガルディーン外伝(2) 大ハード。 未来放浪ガルディーン(3) 大豪快。 定吉七は丁稚の番号 定吉七番シリーズ ロッポンギから愛をこめて 定吉七番シリーズ ゴールドういろう 定吉七番シリーズ 定吉七番の復活 (講談社文庫) 琥珀の夢 上 小説 鳥井信治郎 琥珀の夢 下 小説 鳥井信治郎 ゼンデギ (ハヤカワ文庫SF) 星系出雲の兵站 1 (ハヤカワ文庫JA) 星系出雲の兵站 2 (ハヤカワ文庫JA) 星系出雲の兵站 3 (ハヤカワ文庫JA) 星系出雲の兵站 4 (ハヤカワ文庫JA) 三体Ⅱ 黒暗森林(上) 三体Ⅱ 黒暗森林(下) クロックワーク・ロケット (新☆ハヤカワ・SF・シリーズ) エターナル・フレイム (新☆ハヤカワ・SF・シリーズ) アロウズ・オブ・タイム (新☆ハヤカワ・SF・シリーズ) 烏は主を選ばない 八咫烏シリーズ 2 (文春文庫) 黄金の烏 八咫烏シリーズ 3 (文春文庫) 空棺の烏 八咫烏シリーズ 4 (文春文庫) アフターデジタル2 UXと自由 ザッソウ 結果を出すチームの習慣 定吉七番シリーズ 全6冊合本版

Link