Одновременные запросы в Solr - PullRequest
4 голосов
/ 13 декабря 2010

хей,

Я развертываю сервер Solr, содержащий более 30 млн документов. В настоящее время я проверяю эффективность поиска, и результаты очень зависят от количества одновременно выполняемых запросов:

1 одновременный запрос: 2516мс

2 одновременных запроса: 4250,4469 мс

3 одновременных запроса: 5781, 6219, 6219 мс

4 одновременных запроса: 6484, 7203, 7719, 7781 мс ...

Пул потоков Jetty настроен по умолчанию:

Новый класс = "org.mortbay.thread.BoundedThreadPool"

Set name = "minThreads" 10

Set name = "lowThreads" 50

Set name = "maxThreads" 10000

Я хотел бы знать, есть ли какой-либо фактор, который я могу установить для уменьшения влияния одновременных запросов на время ответа.

Solrconfig также настроен по умолчанию, но без кеша для измерения наихудших случаев и mergeFactor = 5 (поиск будет больше запрашиваться, чем обновление).

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Почему вы пытаетесь сделать это с отключенным кэшированием? Что именно вы пытаетесь измерить?

Вы фактически заставили Solr (Lucene) выполнять каждый поиск с диска. Что вы на самом деле измеряете, так это параллельность самой Java в сочетании с вашей ОС и пропускной способностью диска. Это не имеет ничего общего с Jetty или Solr.

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

1 голос
/ 24 декабря 2010

Пожалуйста, ознакомьтесь с этим Учебным пособием IBM для Solr

Я получил от этого большую помощь.

Надеюсь, вы найдете свой ответ.: -)

...