Технологии поисковых систем представляют собой сложные программные продукты, требующие тщательного профилирования. Мы выбрали Puffin, который широко используется в игровой индустрии Rust. Вы можете экспортировать и импортировать отчёты о профилировании с помощью опций меню «Файл» в верхней панели в Puffin Viewer.
Когда вы включаете экспериментальную функцию exportPuffinReports
в Meilisearch, отчёты Puffin с расширением .puffin
автоматически экспортируются на диск. Когда эта опция включена, движок будет автоматически создавать «фрейм» всякий раз, когда он выполняет метод IndexScheduler::tick
.
Для анализа отчётов используется Puffin Viewer. Эти отчёты показывают области, где Meilisearch потратил время во время индексации.
Ещё один совет по интерфейсу Puffin viewer — рассмотреть опцию «Объединить дочерние элементы с одинаковым ID». Она может скрыть точные фактические тайминги, когда были отправлены события. Пожалуйста, отключите её, если вы видите странные пробелы на Flamegraph. Это может помочь.
Нам всё ещё нужно уделить время профилированию поисковой части движка с помощью Puffin. Потребуется время, чтобы профилировать фазу фильтрации, синтаксический анализ запросов, создание и выполнение. Мы могли бы даже профилировать HTTP-сервер Actix.
Единственная проблема, которую мы видим, — это система фреймов. Puffin требует глобального этапа профилирования на основе фреймов, что противоречит способности Meilisearch принимать и отвечать на несколько запросов одновременно в разных потоках.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )