Опыт оптимизации eBay
Недавно команда eBay рассказала про опыт оптимизации своего сайта и приложений. Эдди Османи сделал рекап статьи в форме советов, которые могут быть полезны для всех проектов — "Shopping for speed on eBay.com".
Для eBay увеличение производительности было основной инженерной инициативой в 2019 году. Она затронула все части проекта: фронтенд, бэкенд и нативные приложения. Вот, что мне показалось наиболее интересным. Каждое ускорение страницы результатов поиска на 100 мс увеличивало число отправленных в корзину товаров на полпроцента. Данные для сагестера раздаются с помощью CDN, для этого пришлось пожертвовать персонализацией подсказок. Очень изобретательно подошли к ускорению отображения содержимого above-the-fold. В архитектуре системы есть слой "Experience Services". Этот слой отвечает за быструю отдачу данных для сущностей, которые попадают во viewport устройства пользователя при инициализации страницы (для web) или view (для нативных приложений). Такое решение позволило отображать данные быстрее при открытии страницы. Контент ниже above-the-fold подгружается лениво или дополнительными чанками.
В статье есть много интересных решений. Рекомендую почитать.