Когда спрос обгоняет машины рядом, какой вызов сдаётся первым?
Бэкенд такси в час пик под дождём
Держит 800 запр./с на коротких ступенях (4 мин); ниже не ломался
- Держит
- 800запр./с
- измерено за 4 мин
Проверены все 9 шагов на этой скорости
ступени по 71 с–4 мин · проверки: 188 прошли, 0 не прошли, 2 — мало данных, 0 не выполнялись · подано 100 % плана · здоровье генераторов не подтверждено
Синтетическая нагрузка снаружи; реальный трафик и метрики ваших серверов сюда не входят.
Что делать дальше
- Дальше искать между 800 и 1 000 запр./с.
Вдвое больше пассажиров и втрое больше заказов, чем в обычный вечер. Половина подборов не находит машину рядом и ищет снова в радиусе 4 км, поэтому таблиц времени подачи считается больше.
Пример: настоящий прогон CapacityLab против бэкенда такси, который мы держим сами
Как проводился тест
Где лежит предел
Каждая точка — скорость, на которой бэкенд держали не меньше полутора минут. Она пройдена, если каждый вызов с достаточной выборкой держит p95 в границе задержки и ошибок меньше 1%; редкий вызов с малой выборкой на этой скорости показан как отсутствующий, а не как пройденный.
- Граница задержки
- p95 ≤ 500 мс
План против факта
Поиск поднимается по лестнице скоростей. На каждой ступени генераторы подавали запланированную скорость; столбики — сколько бэкенд на самом деле ответил, и его p95 на этой ступени.
| План | Факт | p95 | Ошибки | Итог |
|---|---|---|---|---|
| 40 | 40,9 | 50 мс | 0% | Выдержал |
| 80 | 78,6 | 75 мс | 0% | Выдержал |
| 160 | 160 | 50 мс | 0% | Выдержал |
| 320 | 319 | 50 мс | 0% | Выдержал |
| 800 | 796 | 150 мс | 0% | Выдержал |
Какой вызов замедлился первым
p95 каждого вызова на каждой скорости против границы. Вызов, который Result называет ограничивающим, отмечен.
| Вызов | Доля | 160 запр./с | 320 запр./с | 800 запр./с |
|---|---|---|---|---|
Пинг координат водителяGET /tile38/SET+fleet+d00001+POINT+55.7558+37.6173 | 44% | 50 мс | 75 мс | 150 мс |
Геокодирование адресаGET /photon/api | 8,9% | 50 мс | 50 мс | 100 мс |
Водители рядомGET /tile38/NEARBY+fleet+LIMIT+5+POINTS+POINT+55.7558+37.6173+2000 | 8,9% | 50 мс | 50 мс | 150 мс |
Маршрут и ценаGET /osrm/route/v1/driving/37.6173,55.7558;37.5537,55.7158 | 8,9% | 50 мс | 50 мс | 100 мс |
Проверка спроса в ячейкеGET /tile38/NEARBY+orders+COUNT+POINT+55.7158+37.5537+1000 | 8,9% | 50 мс | 50 мс | 150 мс |
Время подачи ближайших машинGET /osrm/table/v1/driving/37.6100,55.7500;37.6200,55.7600;37.6173,55.7558 | 6,7% | 50 мс | 50 мс | 100 мс |
Повторный поиск в 4 кмGET /tile38/NEARBY+fleet+LIMIT+5+POINTS+POINT+55.7558+37.6173+4000 | 3,3% | 50 мс | 50 мс | 150 мс |
Время подачи после расширенного поискаGET /osrm/table/v1/driving/37.6100,55.7500;37.6200,55.7600;37.6173,55.7558 | 3,3% | 50 мс | 50 мс | 100 мс |
Создание заказаGET /tile38/SET+orders+o0000000000000000+EX+900+POINT+55.7558+37.6173 | 6,7% | 50 мс | 50 мс | 150 мс |
p95, SLO ≤ 500 мс
Держит ли дольше
Поиск предела находит его за минуты. 30-минутный нагрузочный тест ниже предела показывает, держит ли бэкенд дальше, пока копятся заказы и горячие ячейки остаются горячими.
- Найти пределПредел не достигнутДержит 800 запр./с на коротких ступенях (4 мин); ниже не ломался2 окт. 2026 г., 16:55 UTC
- Держать 30 минЗапланирован
Что мы видели на своих серверах
Этого в отчёте нет: бэкенд наш, поэтому мы видим метрики хостинга каждого его сервиса. У своего приложения вы смотрите свои дашборды; CapacityLab измеряет снаружи.
- Входной прокси (Caddy)1,15 vCPUПик памяти 67 MB
- Гео-база (Tile38)0,47 vCPUПик памяти 165 MB
- Маршрутизация (OSRM)0,36 vCPUПик памяти 227 MB
- Геокодер (Photon)0,8 vCPUПик памяти 8 311 MB
Больше всех был нагружен сервис «Входной прокси (Caddy)»: его CPU доходил до 1,15 vCPU, следующий — «Геокодер (Photon)» с 0,8.
Ни один из 314 338 запросов не закончился ошибкой сервера.
Что делать дальше
- Подтвердить до планов
Запустить нагрузочный тест на 800 запр./с на 30 минут: поиск советует подтвердить эту скорость следующей, и только подтверждение покажет, держит ли каждый вызов свою границу.
- Смотреть на свою сторону во время прогона
Держите открытыми свои дашборды. Отчёт говорит, какой вызов замедлился; ваши метрики — почему.
- Изменить одно и сравнить
После изменения повторите тот же тест и положите два отчёта рядом.
Своя копия этого отчёта — через одну регистрацию
Зарегистрируйтесь по почте. Новый аккаунт откроется с этим и остальными демо-отчётами внутри, чтобы сравнить их со своим первым прогоном.
Откуда эти цифры
Экспортировано из опубликованных отчётов этих прогонов. CPU и память каждого сервиса — из метрик Railway, число ошибок, если оно показано, — из журнала доступа входного прокси.
Идентификаторы и контрольные суммы
| Прогон | Digest результата | Посчитан |
|---|---|---|
22dbb2c4-36ab-4374-b2f3-915f60faa33f | sha256:d177825baa5ea00c3fd990f7f2dccedb8c9e8aae03f2bfed1c215b89af0df345 | 2 окт. 2026 г., 17:11 UTC |