Индексатор Sphinx замедляет работу базы данных: как придать ей низкий приоритет? - PullRequest
0 голосов
/ 18 апреля 2011

Все мои таблицы используют InnoDB, и я установил sphinx sql_range_step на минимум, равный 128. Это значительно улучшило производительность, но все равно очень медленно, если вы делаете запрос сразу после начала нового шага.

Я уверен, что все будет работать нормально, если я смогу уменьшить шаг диапазона до 10 или что-то в этом роде, но кто-то обнаружил, что значение min жестко закодировано и изменить его невозможно (кроме редактирования источника).

Так что мне было интересно, есть ли способ справиться с этим напрямую из MySQL.Когда я индексирую базу данных, другие базы данных не затрагиваются, поэтому замедляется не весь сервер, а только индексируемая база данных.

Есть ли способ дать меньший приоритетпользователь или запрос, или что-то?

1 Ответ

1 голос
/ 19 апреля 2011

Сначала попробуйте оптимизировать ваши SQL-запросы sql_query и sql_query_range.Кроме того, вы можете регулировать запросы при индексации через sql_ranged_throttle .Например, установите его равным 1000, чтобы получить задержку в 1 секунду (1000 мс) перед каждым запросом в диапазоне.

...