MT4のmt-search.fcgiの性能
mt-searchがどうこうという話 - Ogawa::Memorandaの続き。
MT4標準のmt-searchの性能をFastCGI環境でもう少し詳細に調べてみた。ベンチマークの条件は、
- MT 4.01 + FastCGI環境。
- デフォルト(No Cache)、MemcachedLocalを使った場合(MemcachedLocal)、Memcachedを使った場合(Memcached)の3つを比較。
- MaxResultsは10,20,40,60,80,100でそれぞれ測定。
- 検索処理(Search)、レンダリング処理(Render)、それ以外(Misc.)に要する時間をそれぞれ計測。
- 計測は20回のシーケンシャルリクエストの最良値と最悪値を除いた値を平均化。
- 対象データはこのブログのある時点でのスナップショット。
まず、デフォルトテンプレートによる検索時間の結果。
MemcachedLocalを用いることで最大約23%の全体処理時間の短縮が実現できている。レンダリング処理に限れば40%以上の時間短縮が期待できる。
Memcachedを用いることで、MemcachedLocalと同様にレンダリング処理の時間短縮が期待できる。ただし、検索処理自体に要する時間が増加しているため、効果が相殺されてしまい、MaxResultsの値が大きい領域でしか高速化できない。Memcachedを用いた場合には、データベースからロードされたデータ本体もキャッシュされるため、そのオーバーヘッドがあるものと思われる。
次に、デフォルトテンプレートからメタ情報(MTEntryCommentCount, MTEntryPingCount)の表示部分を削除したテンプレートによる検索時間の結果。
MemcachedLocalを用いてもほとんど高速化されない。微妙に速くなっているが測定誤差の範囲。Memcachedとの組み合わせで検索処理が遅くなるのは、メタ情報ありの場合と共通している。
数値データコミコミで以下で公開。
Comments and Trackbacks