「検索結果テンプレート」の修正で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タイプのテンプレートで検索実行
- 昨日のエントリーで紹介した、タイトル+リンクのシンプルな検索結果。
- 「ブログ記事のメタデータ」モジュールのみ外した状態。つまりコメント数やトラックバック数だけが出ない。あとはデフォルトテンプレートのまま。
- デフォルトの「検索結果」テンプレートそのまま。
10回実行して平均値を算出。単位は「秒」。数字自体は環境に大きく依存するので違い (差) に着目。
テンプレート | タイトルと リンクのみ | メタ情報なし | デフォルト |
---|---|---|---|
1 | 0.115 | 0.148 | 0.418 |
2 | 0.107 | 0.156 | 0.353 |
3 | 0.109 | 0.153 | 0.351 |
4 | 0.108 | 0.149 | 0.352 |
5 | 0.112 | 0.146 | 0.361 |
6 | 0.119 | 0.157 | 0.36 |
7 | 0.109 | 0.156 | 0.352 |
8 | 0.115 | 0.155 | 0.361 |
9 | 0.112 | 0.158 | 0.355 |
10 | 0.106 | 0.158 | 0.362 |
平均 | 0.111 | 0.154 | 0.363 |
テンプレート | タイトルと リンクのみ | メタ情報なし | デフォルト |
---|---|---|---|
1 | 0.127 | 0.212 | 0.660 |
2 | 0.126 | 0.201 | 0.601 |
3 | 0.132 | 0.204 | 0.626 |
4 | 0.131 | 0.206 | 0.617 |
5 | 0.128 | 0.200 | 0.609 |
6 | 0.132 | 0.207 | 0.607 |
7 | 0.127 | 0.200 | 0.605 |
8 | 0.127 | 0.201 | 0.610 |
9 | 0.131 | 0.198 | 0.610 |
10 | 0.126 | 0.210 | 0.620 |
平均 | 0.129 | 0.204 | 0.617 |
テンプレート | タイトルと リンクのみ | メタ情報なし | デフォルト |
---|---|---|---|
1 | 0.177 | 0.317 | 1.276 |
2 | 0.167 | 0.385 | 1.145 |
3 | 0.187 | 0.319 | 1.143 |
4 | 0.173 | 0.319 | 1.412 |
5 | 0.175 | 0.319 | 1.266 |
6 | 0.179 | 0.322 | 1.148 |
7 | 0.169 | 0.333 | 1.139 |
8 | 0.166 | 0.318 | 1.135 |
9 | 0.166 | 0.326 | 1.142 |
10 | 0.169 | 0.331 | 1.142 |
平均 | 0.173 | 0.329 | 1.195 |
もちろん処理全体に占める「再構築」時間の比率にもよるだろうが、この位差が出るのであれば「下手な最適化」でもないと思うけどなぁ。もちろん検索結果の上限値を設定すること自体に異論はないですけど。
*一応汎用的で高速な検索については現在作成中。