К обсуждениям

SSE через Teleport приходит пачкой: где искать буферизацию

Редакция VOne Технологии

Как сравнить прямой путь и Teleport App Access по времени первого события, не отключая TLS и аутентификацию: матрица upstream, proxy и text/event-stream.

Измеряйте не общее время страницы

Для потока важны три отметки: начало запроса, получение заголовков и первое завершённое событие. Общая длительность SSE почти бесконечна и мало что объясняет. Снимите эти отметки на прямом адресе приложения и через Teleport App Access при одном и том же безвредном тестовом событии. Не сравнивайте разные нагрузки и не публикуйте cookie, токены или внутренние имена.

Постройте четыре контрольных пути

Матрица включает прямой обычный HTTP-ответ, прямой SSE, короткий ответ через App Access и SSE через App Access. Если задерживается только последний, обычная доступность приложения и аутентификация подтверждены отдельно. Если медленны оба проксированных ответа, проблема шире потока. Если тормозит и прямой SSE, сначала исследуйте upstream, а не защитный слой Teleport.

Проверьте контракт потока

Стандарт WHATWG определяет EventSource и MIME-тип text/event-stream, а события формируются по мере получения строк потока. Зафиксируйте Content-Type, отсутствие неожиданного конечного Content-Length и границы пустой строки между событиями. Это проверяет форму ответа, но не требует копировать пользовательские данные. Используйте синтетические идентификаторы событий и короткие нейтральные payload.

Отделите компоненты Teleport

Официальная схема Teleport проводит запрос через Proxy Service к Application Service и далее к веб-приложению, после чего ответ идёт обратно. Поэтому в отчёте нужны версии Proxy и Application Service, режим развертывания и временные метки на стороне upstream. Не объявляйте виновным первый видимый proxy: буфер может находиться в приложении, промежуточном балансировщике или обратном пути.

Остановитесь до ослабления защиты

Достаточный пакет содержит четыре строки матрицы, заголовки без секретов, время до первого события и версии компонентов. Не отключайте TLS, SSO, проверку сертификатов или App Access в production ради сравнения. Прямой контроль допустим только в уже разрешённой тестовой границе. Если такой границы нет, передайте владельцу upstream минимальный сценарий и сравнивайте его серверные отметки. Для повторяемости укажите размер и частоту синтетического события: крупная пачка и одна короткая строка создают разные условия и не должны смешиваться.

Материал подготовлен редакцией VOne с применением ИИ для временной матрицы; архитектура App Access и контракт SSE проверены по официальным первичным источникам, issue использован как сигнал.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.