- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name: ooptimum
Subject: Параллельное многосерверное индекирование

Сегодня заметил, что на машине (PIV 3.2GHz, 1Gb RAM) с DataparkSearch 
(dbmode=multi, используется демон stored) и MySQL во время индексирования в 5 
потоков load average: 7.41, 6.03, 5.00. Это много -- решил добавить новый 
сервер для индексирования. В документации прочел, что [quote]Пользователи MySQL 
и PostgreSQL могут запускать несколько indexer одновременно с одним и тем же 
файлом конфигурации indexer.conf. Мы успешно опробовали 30 одновременно 
работающих indexer использующих базу данных MySQL. Indexer использует механизм 
блокировки MySQL и PostgreSQL для избежания двойного индексирования одних и тех 
же документов разными одновременно работающими indexer. Параллельное 
индексирование может работать некорректно с остальными поддерживаемыми SQL 
серверами. Вы можете использовать многопоточную версию indexer c любым SQL 
сервером, поддерживающим параллельные соединения с базой. Многопоточная версия 
использует свой собственный механизм блокировки.[/quote]
Но я и пользуюсь многопоточной версией indexer'а. Значит ли это, что он не 
использует механизм блокировок, предоставленный БД? Как мне организовать работу 
нескольких многопоточных indexer'ов на нескольких серверах с общей БД? Нужно ли 
переходить к схеме с cached? Если да, то как это сделать без потери результатов 
уже проделанной работы? Также в идеале хотелось бы, чтобы разные сервера 
индексировали разные сайты, например, один индексирует те, что доступны через 
пиринговые сети со скоростью 100 Mbps, а второй -- все остальные, доступные по 
каналу 1Mbps. Как это сделать правильнее всего?
- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Read the full topic here:
http://www.dataparksearch.org/cgi-bin/simpleforum.cgi?fid=05;post=

Ответить