Каждый поставщик обещает скорость. Ни одно число в презентации поставщика, включая нашу, не должно решать интеграцию, так как производительность API изображений зависит от того, где находятся ваши пользователи, что вы запрашиваете и как вы кэшируете. Что поставщик может честно предложить — это архитектура и метод. Вот и то, и другое.
Что на самом деле определяет скорость
- Кэширование на краю: изображение передается с узла CDN рядом с пользователем или рендерится по запросу
- Размер полезной нагрузки: формат и размеры. WebP 1200px — это доля полноразмерного PNG
- Холодный vs тёплый: первый запрос на необычное сочетание комплектации-цвета-угла выполняет больше работы, чем миллионный запрос на популярное
- Ваша собственная кэширование: URL изображения, сохраненный в вашем CDN или бакете, не добавляет задержки API при каждом последующем просмотре
Кэшированная доставка с края обычно занимает десятки миллисекунд, фактически это расстояние сети. Холодные рендеры занимают больше времени, и любой честный поставщик скажет вам об этом. Вопрос производительности, таким образом, на самом деле вопрос о соотношении попаданий в кэш, и ваш паттерн доступа решает это больше, чем поставщик.
Четыре числа, которые стоит измерять
| Метрика | Что это вам говорит | Как |
|---|---|---|
| TTFB, тёплый | Скорость доставки на краю | Повторные запросы на тот же URL |
| TTFB, холодный | Скорость конвейера рендеринга | Первые запросы на редкие комбинации |
| p95, а не среднее значение | Что испытывают медленные пользователи | Сотни запросов, посмотрите на хвост |
| Байты в сети | Что скачивают мобильные пользователи | Сравнивайте варианты формата и ширины |
Эталон, который можно запустить за полдня
Возьмите двадцать автомобилей из вашего собственного каталога, реальных, включая непопулярные комплектации. Для каждого запросите углы, которые вы действительно отобразите, в формате и размере, которые вы действительно будете использовать, например front_left?format=webp&width=1200. Запустите каждый URL дважды, из регионов, где находятся ваши пользователи, и запишите холодные и тёплые тайминги отдельно. Повторите при эквивалентной одновременности в часы пик.

Два детали определяют честность результата. Во-первых: измеряйте хвост, а не среднее значение. Один медленный рендеринг, скрытый в быстром среднем, — это именно то, что заметят ваши пользователи. Во-вторых: тестируйте загрузку вместе с задержкой, так как поставщик, который возвращает в два раза больше байтов при одинаковом TTFB, медленнее на каждом реальном телефоне.
Дисциплина полезной нагрузки
- Запрашивайте WebP, если вам не нужно прозрачность PNG для печати или композитинга
- Запрашивайте ширину, с которой вы отображаете. Отправка изображения 2400px в слот 600px — чистая трата
- Используйте параметр качества осознанно; вырезы автомобилей хорошо переносят сжатие
- Кэшируйте агрессивно с вашей стороны: самый быстрый запрос — тот, который вы никогда не делаете
Чтение результатов честно
Когда возвращаются числа, не стоит усреднять их в один балл. Поставщик с быстрым теплым путем и медленным холодным путем подходит для рынка, где тысяча лучших автомобилей поглощает большую часть трафика, и подходит для длинного хвоста страхового квотирования гораздо хуже. Подберите форму профиля задержки под форму вашего шаблона доступа, потому что эта подгонка важнее, чем какой поставщик выигрывает медианный заголовок.
Наша собственная архитектура, то есть параметры запросов, форматы и доставка, документирована на странице vehicle image API и в документации API. Запустите дневной бенчмарк против нас и против кого-либо еще, кого вы рассматриваете; такое сравнение лучше любой таблицы, которую мы могли бы опубликовать.





