Краткий ответ
Если вы ежемесячно генерируете очень большой объём изображений и хотите, чтобы задержка ответа API была ниже 360ms, переход на другой маршрут может дать лишь ограниченное улучшение, поскольку большинство альтернативных узлов размещены за рубежом и могут вносить дополнительную сетевую задержку. Сначала протестируйте замену исходного корневого URL:https://api.apiyi.com/v1/images/generations на http://api.apiyi.com:16888/v1/images/generations.
Оптимизация клиента
Некоторые API gateway демонстрируют нестабильное поведение HTTP/2 во время длительных или потоковых соединений, что может приводить к прерыванию передачи или дополнительным повторным попыткам. Настройте пользовательский HTTP-клиент, чтобы:- Принудительно использовать HTTP/1.1 и отключить HTTP/2
- Включить pooling соединений и Keep-Alive, чтобы не создавать новое соединение для каждого запроса
- Увеличить timeout чтения, чтобы он покрывал обычное время генерации изображений, а не использовать общий timeout 500ms
- Повторять отдельные сетевые сбои ограниченное число раз с backoff
Рассматривайте 500ms как целевое значение для сетевых накладных расходов или отправки задачи, а не как гарантированное время завершения генерации изображения. Фактическая задержка также зависит от местоположения клиента, маршрутизации ISP, параллельных запросов, выбранной модели генерации изображений и обработки на стороне upstream. Запускайте тесты при параллельных запросах, близких к боевым, и оценивайте задержку P95 и P99 перед развёртыванием.
Рекомендуемый порядок устранения неполадок
1
Переключитесь на HTTP-эндпоинт
Замените корневой URL на
http://api.apiyi.com:16888, сохранив существующий путь API и способ аутентификации.2
Отключите HTTP/2
Принудительно используйте HTTP/1.1 в вашем клиенте и включите повторное использование соединений.
3
Настройте тайм-ауты и повторные попытки
Настройте тайм-ауты соединения и чтения отдельно. Тайм-аут чтения должен покрывать обычное время обработки изображений.
4
Выполните тест на параллельные запросы
Проверьте при параллельных запросах, близких к производственным, и отслеживайте задержку P50, P95, P99 и уровень ошибок.