2013-04-05 181 views
2

我有一個大的網站,有近600.000索引文章,一些查詢需要200毫秒執行。加速獅身人面像?

有什麼我可以做的,以加快速度?任何經驗分享?

我的應用程序是Rails 3.0,帶有Thinking Sphinx和最新版本的Sphinx。

這裏我搜索的配置:

searchd 
{ 
    listen = <IP>:<PORT> 
    log = < LOG PATH > 
    query_log = < QUERY LOG PATH > 
    pid_file = < PID FILE PATH > 
    max_matches = 100000 
    thread_stack = 1024K 
    read_buffer = 512K 
    read_unhinted = 64K 
    max_filters = 512 
} 

任何幫助將不勝感激。

+0

每次搜索1/5秒?你必須有一些嚴重的可伸縮性問題需要比那更快地搜索600,000篇文章。 – 2013-04-05 22:13:39

+0

一開始你的max_matches比較高。但是你的'索引'設置更像是會影響速度,比如你的停用詞和hitless_words,請張貼。還有您所做的查詢類型以及您的服務器規格。你有沒有分拆?可以訪問多個服務器? – barryhunter 2013-04-05 22:39:22

回答

0

隨着思維獅身人面像,你使用最新的Rails 3.0友好版本2.0.14?即使你是這樣,最近也有一些改變,增加了連接池/持久的Sphinx連接,並且提供了一個明顯的速度提升,因爲大多數搜索都沒有設置套接字的開銷。

則需要通過GIT中,雖然使用了最新:

gem 'thinking-sphinx', 
    :git => 'git://github.com/pat/thinking-sphinx.git', 
    :branch => 'v2', 
    :ref => '6fbbbc0c5d' 

這就是說,巴里的評論是值得關注的,他有一噸的獅身人面像有經驗。