0.00
Рейтинг
0.00
Сила

Проблемы со скоростью выполнения запросов Sphinx

Здравствуйте, у меня есть вопрос по скорости выполнения запросов Sphinx, прошу помочь неопытному с решением данной проблемы.

Есть созданный RT индекс в котором находятся ~1 500 000 товаров.
Sphinx используется не только для полнотекстового поиска но и для фильтрации и сортировки
товаров в каталоге, также с его помощью реализована зависимость фильтров и подсчет
количества товаров по определенным характеристикам фильтрации.

Проблема состоит в том что запросы отрабатывают довольно долго(запросы и время выполнения
приведу ниже), хочу понять в чем дело, может я что-то упустил или в конфиге напортачил
так как со Sphinx начал работать недавно.

Sphinx.conf:
index rt_index_name
{
    type = rt
    path = /var/data/index_name
    docinfo = extern
    morphology = stem_enru
    min_word_len = 3
    html_strip = 0
    charset_type = utf-8
    enable_star = 1
    rt_mem_limit = 128M

    rt_field = product_title
    rt_field = product_type
    rt_attr_uint = product_nid
    rt_attr_uint = product_status
    rt_attr_uint = product_promote
    rt_attr_bigint = product_available
    rt_attr_uint = product_shop_weight
    rt_attr_uint = product_price
    rt_attr_uint = product_discount
    rt_attr_uint = product_brand
    rt_attr_uint = product_shop
    rt_attr_uint = product_grade
    rt_attr_multi = product_category
    rt_attr_float = product_rating
    rt_attr_float = product_rating_actual
    rt_attr_timestamp = product_created
    rt_attr_bigint = product_moderation_category
    rt_attr_bigint = product_moderation_status
    rt_attr_bigint = product_moderation_suspect
}

searchd
{
    listen = 127.0.0.1:2413:mysql41
    listen = 127.0.0.1:2414
    log = /var/log/sphinx/searchd.log
    query_log = /var/log/sphinx/query.log
    pid_file = /var/run/sphinx/searchd.pid
    read_timeout = 1
    max_matches = 10000
    max_children = 30
    workers = threads
    compat_sphinxql_magics= 0
    dist_threads = 8
}

Примеры запросов:
Пример №1 Время выполнения: 0.378
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->SetFilter('product_category', array(32903));
$sphinx->SetSortMode(SPH_SORT_EXTENDED, 'product_available DESC, product_grade ASC,
product_rating_actual DESC, product_nid DESC');
$sphinx_results = $sphinx->Query('', 'rt_index_name');


Пример №1 Время выполнения: 0.642
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->setGroupBy('product_brand', SPH_GROUPBY_ATTR);
$sphinx_results = $sphinx->Query('', 'rt_index_name');


Пример №1 Время выполнения: 0.677
$sphinx = new SphinxClient();
$sphinx->SetLimits(0, 100);
$sphinx->setGroupBy('product_category', SPH_GROUPBY_ATTR);
$sphinx_results = $sphinx->Query('', 'rt_index_name');