アルファサード株式会社 代表取締役 野田 純生のブログ


「検索結果テンプレート」の修正でMTの検索結果表示にどの程度の効果があるか?


公開日 : 2007-09-26 14:24:09


サーバーへの負荷もさるところながら、「利用する人のストレスのことも考えると検索結果が表示されるまでにどのくらいなら待てるものなのだろう」などと考えながらMTの検索を独自に実装しようと思って昨日のエントリー (MTからデータベースへのクエリの発行回数を減らす (mt-search.cgiを例にとって)。) を書いていたのだが、昨日のエントリーではMySQLのログ見ただけだったので実際に検証してみた((o)さんからツッコミもあったことだし)。えーっと、ちなみに数字は「再構築」に要した時間。検索に要した時間ではないので。

このブログのエントリーをエクスポートして、ほぼデフォルト状態のMT4にインポート。

Time::Hiresモジュールをインストール、ぴろりさんのMTStopWatchを入れてキーワード「MT」で検索して計測。

ちなみにキーワード「MT」だと約380件のエントリーのうち、(MaxResultsを設定しない場合) 100件強がマッチする。

MaxResultsを20, 40, 80にそれぞれ設定して以下の3タイプのテンプレートで検索実行

  1. 昨日のエントリーで紹介した、タイトル+リンクのシンプルな検索結果。
  2. 「ブログ記事のメタデータ」モジュールのみ外した状態。つまりコメント数やトラックバック数だけが出ない。あとはデフォルトテンプレートのまま。
  3. デフォルトの「検索結果」テンプレートそのまま。

10回実行して平均値を算出。単位は「秒」。数字自体は環境に大きく依存するので違い (差) に着目。

MaxResults 20
テンプレートタイトルと
リンクのみ
メタ情報なしデフォルト
10.1150.1480.418
20.1070.1560.353
30.1090.1530.351
40.1080.1490.352
50.1120.1460.361
60.1190.1570.36
70.1090.1560.352
80.1150.1550.361
90.1120.1580.355
100.1060.1580.362
平均0.1110.1540.363

MaxResults 40
テンプレートタイトルと
リンクのみ
メタ情報なしデフォルト
10.1270.2120.660
20.1260.2010.601
30.1320.2040.626
40.1310.2060.617
50.1280.2000.609
60.1320.2070.607
70.1270.2000.605
80.1270.2010.610
90.1310.1980.610
100.1260.2100.620
平均0.1290.2040.617

MaxResult 80
テンプレートタイトルと
リンクのみ
メタ情報なしデフォルト
10.1770.3171.276
20.1670.3851.145
30.1870.3191.143
40.1730.3191.412
50.1750.3191.266
60.1790.3221.148
70.1690.3331.139
80.1660.3181.135
90.1660.3261.142
100.1690.3311.142
平均0.1730.3291.195

もちろん処理全体に占める「再構築」時間の比率にもよるだろうが、この位差が出るのであれば「下手な最適化」でもないと思うけどなぁ。もちろん検索結果の上限値を設定すること自体に異論はないですけど。

*一応汎用的で高速な検索については現在作成中。

カテゴリ


このブログを書いている人
野田純生の写真
野田 純生 (のだ すみお)

大阪府出身。ウェブアクセシビリティエバンジェリスト。 アルファサード株式会社の代表取締役社長であり、現役のプログラマ。経営理念は「テクノロジーによって顧客とパートナーに寄り添い、ウェブを良くする」。 プロフィール詳細へ