V
V
Vladimir2018-09-09 13:38:53
Sphinx
Vladimir, 2018-09-09 13:38:53

How to speed up Sphinx?

Hello.
There is a server - SSD, 64GB of RAM, two processors with 12 cores each.
Base - 60 million lines (indexed values ​​are also a line < 255 characters).
On average, a sphinx search takes 0.04-0.08 seconds. But for some queries, the sphinx searches much longer, up to 0.6 seconds.
I read an article on Habré about the division of indices, divided by 4, the speed did not change, after it was divided into 24 indices (by the number of cores), the situation did not change.
What other ways to tune sphinx exist? Is it possible to change some settings? And why didn't splitting the index speed up the lookup at all?
UPD . I always make a selection in the following way from php:

$cl = new SphinxClient ();
$cl->SetServer ( "localhost", 9312 );
$cl->setSortMode ( SPH_SORT_RELEVANCE );
$cl->setMatchMode ( SPH_MATCH_PHRASE );
$cl->setRankingMode ( SPH_RANK_PROXIMITY_BM25 );

$cl->setLimits (0, 200);
$result = $cl->Query($string);

in $string 1-4 words like "tomatoes" or "planting tomatoes in spring"

Answer the question

In order to leave comments, you need to log in

2 answer(s)
P
Puma Thailand, 2018-09-09
@opium

for the sake of decency, it is necessary to reduce the size of the index, let's say do not index small words,
well, it's worth looking at the qveri log

D
Dimonchik, 2018-09-09
@dimonchik2013

well, at 24, of course, it's cool that it is divided
but the Sphinx somehow needs to glue them together later: 4 and 24 are slightly different in the number of steps
as for
it makes no sense to talk without benchmarks and facts: even requests are unknown, maybe you always rake everything out and then filter it

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question