Myvideo

Guest

Login

Пётр Портнов Нетипичные подходы к перфу в поисковом движке Ozon

Uploaded By: Myvideo
4 views
0
0 votes
0

Ближайшая конференция: #java #jokerconf #jpoint #IT #conference #jugrugroup Поисковый движок O2 в Ozon — сложная распределенная система, построенная на основе Apache Lucene. Базовый поиск O2 обслуживает операции с десятками миллионов документов с почти 14 тысячами разреженных полей при тысячах RPS. С одной стороны, производительность и отказоустойчивость движка достигается сложной архитектурой системы — физической репликацией, шардированием, использованием CDN. С другой стороны — обработка тысяч запросов с необходимым временем ответа и пропускной способностью не была бы доступна без более низкоуровневых и точечно локализованных (микро)оптимизаций, специфических для сервиса базового поиска (а зачастую и для Java-рантайма), и которые не так часто встречаются в мейнстримной Java-разработке. Поговорим про несколько необычных подходов к оптимизации работы базового поиска и историях, связанных с этим. Ключевые темы: * Использование кодогенерации для уменьшения виртуальных вызовов на горячих путях исполнения поисковых запросов. * Борьба с аллокациями, ByteBuffer vs VarHandle и туплы без аллокаций. * Уменьшение индирекций и лишних прыжков по памяти. * Как мы уронили перф правильным использованием Objects#requireNonNull(..). Также расскажу, как мы следим за производительностью и проводим перформанс-исследования. Скачать презентацию с сайта —

Share with your friends

Link:

Embed:

Video Size:

Custom size:

x

Add to Playlist:

Favorites
My Playlist
Watch Later