Краткий ответ
Если вы генерируете очень большой объем изображений каждый месяц и хотите, чтобы задержка ответа API была менее 360 мс, переключение на другой маршрут может дать лишь незначительное улучшение, поскольку большинство альтернативных узлов размещены за рубежом и могут создавать дополнительную сетевую задержку. Выполните оптимизацию на стороне клиента и оставьте адрес по умолчанию:http://, чтобы получить HTTP/1.1: http/https управляет шифрованием, тогда как HTTP/1.1 и HTTP/2 — это отдельный вопрос. См. Является ли http тем же самым, что и HTTP/1.1?
Оптимизация на стороне клиента
- Проверьте версию протокола: в Python (requests, httpx, OpenAI SDK) по умолчанию используется HTTP/1.1, поэтому изменений не требуется. В Go, Java, OkHttp и встроенном fetch в Node 26 и выше по умолчанию применяется HTTP/2. При загрузке изображений с большим количеством параллельных запросов HTTP/2 упаковывает все запросы в одно соединение, поэтому принудительно задайте HTTP/1.1 в коде для этих клиентов, сохранив адрес https
- Включите пул соединений и Keep-Alive, чтобы не создавать новое соединение для каждого запроса
- Увеличьте таймаут чтения, чтобы он покрывал стандартное время генерации изображений, вместо использования общего таймаута в 500 мс
- Настройте повтор запросов при случайных сетевых сбоях с ограниченным количеством попыток и задержкой (backoff)
Рассматривайте 500 мс как ориентир для сетевых накладных расходов или отправки задачи, а не как гарантированное время завершения генерации изображения. Фактическая задержка также зависит от местоположения клиента, маршрутизации провайдера, количества параллельных запросов, выбранной модели генерации изображений и обработки на стороне upstream. Проведите тестирование с объемом параллельных запросов, близким к рабочей среде, и оцените задержку P95 и P99 перед запуском.
Рекомендуемый порядок устранения неполадок
1
Проверьте версию протокола
Запустите
curl -s -o /dev/null -w "%{http_version}\n" https://api.apiyi.com/v1/models -H "Authorization: Bearer YOUR_API_KEY" или обратитесь к документации своего клиента, чтобы проверить, используется ли HTTP/1.1 или HTTP/2.2
При необходимости отключите HTTP/2
Этот шаг необходим только клиентам, использующим HTTP/2 по умолчанию (Go, Java и т. д.): принудительно укажите HTTP/1.1 в клиенте и включите повторное использование соединений. В программах на Go достаточно задать переменную окружения
GODEBUG=http2client=0.3
Настройте таймауты и повторные попытки
Настройте таймауты подключения и чтения раздельно. Таймаут чтения должен покрывать стандартное время обработки изображений.
4
Проведите тест параллельных запросов
Выполните тестирование с числом параллельных запросов, приближенным к рабочей нагрузке, и отслеживайте задержки P50, P95, P99 и процент сбоев.
Об эндпоинте открытого текста на порту 16888
http://api.apiyi.com:16888 — это официально предоставляемый эндпоинт открытого текста с теми же путями запросов, что и https. Он не ускоряет генерацию изображений: для клиентов, уже использующих HTTP/1.1, он экономит только одно TLS-рукопожатие. Используйте его только в качестве временного обходного решения при сбоях самого HTTPS-рукопожатия, либо внутри доверенной внутренней сети или выделенной линии.