почему использование процессора близко к 100%, когда я использую запрос SOLR весь документ - PullRequest
3 голосов
/ 20 апреля 2011

У меня есть приложение, использующее SOLR для запроса более 2 миллионов документов и сортировки по времени.Параметр URL запроса, подобный этому /select?sort=p_review_date desc&rows=10&start=0&q=*:*, начало параметра равно значению переменной, каждый запрос увеличивается 10. Когда я выполняю стресс-тестирование производительности, загрузка ЦП сервера SOLR приближается к 100%.

Вопрос: 1.Чтовызывает высокую загрузку процессора?2. Есть ли способ снизить загрузку ЦП, например, кеш или другая конфигурация.

Это раздел части для конфигурации кеша запросов в solrconfig.xml 1024

<queryResultCache
    class="solr.LRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="512"/>

<documentCache
    class="solr.FastLRUCache"
    size="40960"
    initialSize="10240"
    autowarmCount="0"/>

<enableLazyFieldLoading>true</enableLazyFieldLoading>

<queryResultWindowSize>10</queryResultWindowSize>

<queryResultMaxDocsCached>500</queryResultMaxDocsCached>

1 Ответ

3 голосов
/ 21 апреля 2011

Мой опыт управления таким большим индексом, как у вас (с помощью поисковой системы Autonomy), заключается в том, что 100% ЦП следует ожидать. Поскольку ваш индекс хранится в ОЗУ, отсутствует операция ввода-вывода, которая замедляет операцию поиска, и ЦП будет пытаться читать ОЗУ настолько быстро, насколько это возможно, то есть приближается к 100% ЦП.

Почему вы хотите, чтобы ваш поиск использовал 50% CPU, это займет 2 раза больше времени, верно?

Для AIX существует инструмент мониторинга производительности под названием nmon. В FAQ для nmon автор напоминает нам

Если вы продолжаете использовать все короче и короче периоды вы в конечном итоге увидите, что процессоры либо на 100% заняты, либо на 100% простаивают все остальные номера просто особенность людей, не думающих быстро достаточно и приходится усреднять Использование процессора в более длительные периоды.

Даже если вы не используете AIX в качестве своей ОС, в часто задаваемых вопросах по nmon есть много полезной информации о мониторинге и измерении производительности системы / приложения. Я рекомендую это, или вам нужно больше узнать о диагностике проблем с производительностью в вашей системе.

Кроме того, вы можете добавить некоторые теги к вашей публикации. Здесь, в SO, ведется активная работа по тестированию и тестированию.

Надеюсь, это поможет.

...