2016-09-21 2 views
1

Наша система недавно столкнулась с всплеском использования процессора, и основная причина пока неизвестна. В прошлом мы столкнулись с большим использованием памяти и оповещениями о дисках, поскольку мы запускаем ночную работу по индексированию большого объема, обновляя почти все наши документы. Но высокая загрузка процессора не была проблемой.Время отклика поиска удвоено неустойчиво

Данные, собранные до сих пор:

Узел 03 (из 6 узлов данных и 3 мастер) страдал от высокой загрузки процессора (> 95%) в течение 5 минут, в результате чего время отклика шип 1 сек, тогда как среднее время отклика составляет 40 мс. Просматривая метрики, в подсчете индекса на данном узле с высоким процессором наблюдался небольшой бамп, в то же время в Young GC наблюдался небольшой удар (в обоих случаях это не похоже на шип).

Я не исключаю интенсивную индексацию, так как у нас есть потребитель кафки, который принимает данные объемной индексации в любое время данных, но это контролируется со скоростью не более 250 документов в секунду с временем задержки 250 мс между каждым массовый вызов.

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

Hot threads

Update

Обновлен заголовок вопроса, так как предыдущие наблюдения были неправильными. Основной проблемой является удвоенное время отклика и невысокое использование ЦП, поскольку через некоторое время использование стабилизировалось.

Было некоторое развитие. После всплеска потребление ЦП постепенно уменьшалось и было нормальным. Однако наше время отклика постоянно находится между 100-250 мс (обычное среднее значение - 35-100 мс).

В ответе в настоящий момент есть образец, близкий к зубам (не совсем однородный зубной паз).

Response time

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

Не найдено никаких аномалий в статистике узлов. Будет обновляться, когда будет найден. Все еще публикуется для расследования.

node stats

размещения Также в последнее время горячей нити -

hot_thread_2

+0

Если у вас есть доступ к журналам, проверьте, какие запросы вы выполняли во время всплеска процессора. Результаты сортировки - интенсивность процессора. Возможно, вы выполняете запросы, которые возвращают огромное количество результатов. Просто догадка ... – jay

+0

@jay У нас есть настройка бизнес-логики с жестко закодированными значениями размера результата. Также проверены журналы для любой анамолии. Не удалось найти ничего. –

+0

Все горячие темы связаны с поиском. Неужели вы выбрали горячую нить во время всплеска? Были ли какие-либо изменения в ваших запросах? Скопления? Если у вас есть какая-либо настройка мониторинга на этих серверах, можете ли вы проверить, прошел ли Node 03 сильное слияние во время всплеска? – jay

ответ

0

Узел 03 определенно кажется, подверглись тяжелым индексацию.

   "bulk": { 
       "threads": 8, 
       "queue": 0, 
       "active": 0, 
       "rejected": 0, 
       "largest": 8, 
       "completed": 9528532 

Я сравнил Узел 04 статистику с узлом 03. Еще несколько вещей, которые я заметил на 03.

  • 4144165 Документов 256087749 (index_total) запросы индексации?
  • Только у Node 03 есть 41 open_contexts. Таким образом, у вас есть 41 запрос на поиск в тот момент, когда вы приняли этот стат. Все остальные узлы равны 0.
  • Количество слияний для Node 03 и Node 01 очень велико по сравнению с другими узлами.

У вас есть какая-либо логика маршрутизации, которая отправляет конкретные документы на определенные узлы? Или, может быть, эти узлы содержат индексы, которые обновляются чаще?

Также, если вы заметили всплеск, то у вас или вашего приложения возникнет оптимизация индекса на узле 03? Глядя на статистику узла, 03 единственный узел, который имеет «завершен» оптимизировать

"optimize": { 
       "threads": 1, 
       "queue": 0, 
       "active": 0, 
       "rejected": 0, 
       "largest": 1, 
       "completed": 1 
      }, 

Кроме того, что ваш refresh_interval? Значение по умолчанию в ES равно 1 секунде. Это может вызвать много слияний при объемной индексации.

+0

Увеличение числа запросов на индексацию может быть связано с тем, что у нас полнофункциональная работа по обновлению почти всех наших документов. Кроме того, в настоящее время у нас нет логики для маршрутизации поисковых запросов. В настоящее время мы отправляем все поисковые запросы на первые 3 узла. Кроме того, наше массовое индексирование работает в основном в полночь, и мы в порядке, если в течение времени поисковый ответ увеличивается. Текущий refresh_interval устанавливается как 1 секунда. –

+0

Что касается проблемы маршрутизации. Я сомневаюсь, что только один узел будет получать все поисковые запросы. Хотя у нас нет правильной логики маршрутизации, наш сервер приложений отправляет запросы узлам на основе доступности. Тем не менее, у нас не так много запросов на поиск, которые должны запускать любой отдельный узел. –

Смежные вопросы