1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-MeiliSearch

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
PROFILING.md 3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 21:12 e474eff

Профилирование Meilisearch

Технологии поисковых систем представляют собой сложные программные продукты, требующие тщательного профилирования. Мы выбрали Puffin, который широко используется в игровой индустрии Rust. Вы можете экспортировать и импортировать отчёты о профилировании с помощью опций меню «Файл» в верхней панели в Puffin Viewer.

Профилирование процесса индексации

Когда вы включаете экспериментальную функцию exportPuffinReports в Meilisearch, отчёты Puffin с расширением .puffin автоматически экспортируются на диск. Когда эта опция включена, движок будет автоматически создавать «фрейм» всякий раз, когда он выполняет метод IndexScheduler::tick.

Для анализа отчётов используется Puffin Viewer. Эти отчёты показывают области, где Meilisearch потратил время во время индексации.

Ещё один совет по интерфейсу Puffin viewer — рассмотреть опцию «Объединить дочерние элементы с одинаковым ID». Она может скрыть точные фактические тайминги, когда были отправлены события. Пожалуйста, отключите её, если вы видите странные пробелы на Flamegraph. Это может помочь.

Профилирование поискового процесса

Нам всё ещё нужно уделить время профилированию поисковой части движка с помощью Puffin. Потребуется время, чтобы профилировать фазу фильтрации, синтаксический анализ запросов, создание и выполнение. Мы могли бы даже профилировать HTTP-сервер Actix.

Единственная проблема, которую мы видим, — это система фреймов. Puffin требует глобального этапа профилирования на основе фреймов, что противоречит способности Meilisearch принимать и отвечать на несколько запросов одновременно в разных потоках.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-MeiliSearch.git
git@api.gitlife.ru:oschina-mirror/mirrors-MeiliSearch.git
oschina-mirror
mirrors-MeiliSearch
mirrors-MeiliSearch
main