Как оптимизировать sphinx?

Есть база Mysql и таблица tbl_products размером почти в 1Гб.
1 вопрос - сейчас служба searchd потребляет в среднем около 400 Мб ОЗУ. - это нормально? Можно ли уменьшить потребление ОЗУ и каким образом?
2 вопрос - два раза в день таблица tbl_products обновляется и соответственно нужно ее переиндексировать, а это занимает около 2 минут времени и сайт просто не открывается во время выполнения команды: indexer --all --rotate
Можно ли это как-то оптимизировать, чтобы во время индексации - сайт нормально функционировал?
  • Вопрос задан
  • 2441 просмотр
Пригласить эксперта
Ответы на вопрос 3
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
1. Это а) нормально б) вообще не много. Уменьшить можно удалив не нужные Вам индексы.
Но в целом 40% от базы это нормально на мой взгляд.
2. sphinxsearch.com/docs/current.html#live-updates и далее вниз.
Можно дельтаиндексы, можно RT.
Ответ написан
Комментировать
по поводу уменьшения использования ОЗУ - ничего не скажу, вроде 400 мб это совсем не много.
По поводу переиндексации - у вас же не все товары два раза в день меняются, переиндексировать надо только то, что меняется. Почитайте в документации про дельта индексы.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
при копеечной цене памяти смысл биться за 400 мегабайт то ? сэкономить 5 баксов на аренде сервера в месяц ?
понизьте приоритет этой команде через найс и ионайс.
ну а так у вас поди одноядерная впска на гиг памяти в каком нибудь очень русском хостере?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы