我们有重载狮身人面像实例。索引是实时的,但我们每周只批量插入一次数据。
它运行在专用的 12 核/24 线程服务器上。
服务器只安装了狮身人面像。
这是 conf 文件的片段:
index data_all
{
type = distributed
local = data_0
local = data_1
local = data_2
local = data_3
}
searchd
{
listen = 9305:mysql41
listen = 9405
log = /usr/local/sphinx/var/log/searchd.log
query_log = /usr/local/sphinx/var/log/query.log
read_timeout = 5
max_children = 2000
pid_file = /usr/local/sphinx/var/log/searchd.pid
seamless_rotate = 1
preopen_indexes = 1
unlink_old = 1
workers = threads
dist_threads = 4
binlog_path =
}
每个本地索引大约为 17 GB。
大多数时候服务器平均负载低于 2-3,但有时,机器的负载平均会飙升到 50 左右。
目前我们的响应时间非常好,即使在那些高峰期间也是如此。
我想知道dist_threads
。我需要保持 4(作为本地索引的数量)还是需要选择 24(CPU 线程的数量)。或者我应该选择 1,因为无论如何我们都有很多并行查询。