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
}

任何帮助将不胜感激。

4

1 回答 1

0

对于 Thinking Sphinx,您是否使用了最新的 Rails 3.0 友好版本 2.0.14?即使您是,最近也有一些更改添加了连接池/持久 Sphinx 连接,这提供了明显的速度提升,因为大多数搜索不会有设置套接字的开销。

不过,您需要通过 git 使用最新版本:

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

也就是说,Barry 的评论值得关注,他对 Sphinx 有很多经验。

于 2013-04-06T00:55:16.370 回答