SlideShare a Scribd company logo
[email_address] 検索 2009.7.21 Solr 勉強会
twitter 検索 (yats) の紹介 http://pcod.no-ip.org/yats / 3 億つぶやき以上を収集 日本語ユーザーからの 5500 万つぶやきを検索 つぶやくと平均 60 秒で検索可能に。 50 万 PV/ 月 , 270 万リクエスト / 月 平均応答時間: 0.3 秒
twitter 検索 (yats) の紹介 特徴: 更新頻度が高い 1 件あたりの文章は短いが、件数が多い 日付ソート前提
どうすれば速くなる? 1. 更新頻度高い: インデックス更新にかかる時間を減らす 2. 同じクエリが何度もくる キャッシュを使う 3. クエリの重さは均一ではない: 遅いクエリをはじく
インデックス更新の高速化 追加(更新)専用の Solr を作る! 小さなインデックスに対してならば速度は良好 ( zoie を参考にしました ) 検索 更新 件数 間隔 所要時間 1 日分 40 万 100 秒 数秒 1 ヶ月分 1000 万 12 時間 数十秒 のこり 5000 万 30 日 数時間
キャッシュ ノイズの無い環境  ( 5 時間後-> 1 週間後) キャッシュヒット率 :64%->77% 平均 (msec):128->68
キャッシュを 5 倍にした キャッシュが足りていないように見えたので 5 倍にした。 横軸は経過時間 今後もう少しログをためて調べてみよう… ※ 当日のスライドに含まれなかったスライドです
遅いクエリをはじく 遅いクエリとは 後ろの方のページ (50 ページ目とか ) 複雑な条件式 ヒット数が多い  etc... Solr にリクエストして待機する apache プロセスが増えていく->落ちる 5 秒で返ってこなかったらタイムアウト ->  過去 1 日分だけ検索(高速) ( 1% のクエリでこういう処理が走る)
あー、もっと速くしたい ...
SSD にした SSD にしたら 7 倍 くらいはやくなった。 うるさくなくなった CPU がボトルネックに 初回起動から高速 OS のキャッシュに載ってない状態から初めてお k
まとめ 1. 更新頻度高い: 複数の Solr を準備する 2. 同じクエリが何度もくる キャッシュを多く設定 3. クエリの重さは均一ではない: 遅いクエリをタイムアウトさせる
ご清聴ありがとうございました
link Zoie : http://code.google.com/p/zoie /
以降は使わないかも
遅いクエリが処理時間に占める割合 5 秒以上
twitter 検索の構成 クローリング  + apache + mysql (+ Solr1,2) SC440 cpu:2GHz 2 コア (E4500) mem:3GB HDD 80G, HDD 1TB Solr3 SC440 cpu:1.86GHz? 2 コア (E2100?) mem:3GB HDD 80G, SSD 120G

More Related Content

Solr@twitter検索