Мне нужен совет по диагностике медленных запросов Elasticseach.
Настройка
- 1 узел кластера в ElasticCloud (1 первичный осколок, 0 реплик),примечание: ElasticCloud = нет замедления.(да, я знаю, что у меня должно быть больше узлов ... но это просто DEV)
- Взаимодействие с кластером через мое Azure .NET Web App с использованием библиотеки NEST
Поведение
- Большинство времени отклика для моего веб-сервера составляют 50-80 мс
- Все запросы раз в ES (например, взяли) составляют <5 мс. </li>
- Задержка в сети между моим веб-сервером и ElasticCloud составляет около 15 мс
Проблема - Иногда время отклика прыгает между 100-200 мс, но требуетсяеще 1мс.Мне удалось повторить это поведение и на локальном компьютере (с помощью док-станции ElasticSearch).
Вот отрывок из захваченного мною Fiddler, который является вызовом Elasticsearch из моего приложения:
ClientConnected: 17:28:44.325
ClientBeginRequest: 17:34:34.953
GotRequestHeaders: 17:34:34.953
ClientDoneRequest: 17:34:34.953
Determine Gateway: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 0ms
HTTPS Handshake: 0ms
ServerConnected: 17:34:27.538
FiddlerBeginRequest: 17:34:34.953
ServerGotRequest: 17:34:34.953
ServerBeginResponse: 17:34:35.171
GotResponseHeaders: 17:34:35.171
ServerDoneResponse: 17:34:35.172
ClientBeginResponse: 17:34:35.172
ClientDoneResponse: 17:34:35.178
ИтакВыше указано, что для обработки запроса кластеру Elasticsearch потребовалось 218 мс.Однако это занимает 1 мс.
Как я могу отследить этот медленный запрос?Понятно, что это не скорость запроса (поскольку он занимает мало), поэтому он должен быть чем-то в кластере.
Любой совет?
РЕДАКТИРОВАТЬ
Вот некоторые данные из Kibana, за 15-минутный нагрузочный тест, который я сделал:
Итак ... на основании моего анализа noob-ish там ничего не выглядит плохо.
- Задержка поиска / задержка быстрая (<5 мс) </li>
- Куча JVM выглядит нормально
- Штраф процессора
- Нет чрезмерной GC
Тем не менее, вот что я вижу из моего инструмента нагрузочного тестирования:
Вот статистика из моего инструмента мониторинга перфорирования.Вы можете ясно видеть шипы и медленные выбросы:
Не знаете, куда еще идти?Есть ли какая-то другая метрика, которую я должен искать?