메인 콘텐츠로 건너뛰기

간단한 답변

매월 매우 많은 양의 이미지를 생성하고 API 응답 지연 시간을 360ms 미만으로 유지하려는 경우, 대부분의 대체 노드가 해외에 호스팅되어 추가적인 네트워크 지연을 유발할 수 있으므로 다른 경로로 전환해도 개선 효과가 제한적일 수 있습니다. 클라이언트 측을 최적화하고 기본 주소를 유지하십시오.
먼저 클라이언트가 실제로 사용하는 프로토콜 버전을 확인한 다음, 필요에 따라 연결 재사용, 타임아웃 및 재시도를 조정하십시오. HTTP/1.1을 사용하기 위해 http://로 전환할 필요는 없습니다. http/https는 암호화를 제어하는 반면 HTTP/1.1과 HTTP/2는 별개의 문제입니다. http는 HTTP/1.1과 같은 것입니까?를 참조하십시오.

클라이언트 최적화

  • 프로토콜 버전 확인: Python(requests, httpx, OpenAI SDK)은 기본적으로 HTTP/1.1을 사용하므로 변경할 필요가 없습니다. Go, Java, OkHttp 및 Node 26 이상에 내장된 fetch는 기본적으로 HTTP/2를 사용합니다. 동시 실행 수가 높은 이미지 업로드에서는 HTTP/2가 모든 요청을 하나의 연결에 담으므로, https 주소는 유지하면서 이러한 클라이언트의 코드에서 HTTP/1.1을 강제해야 합니다.
  • 연결 풀링과 Keep-Alive를 활성화하여 요청마다 새 연결을 생성하지 않도록 합니다.
  • 총 500ms 타임아웃을 사용하는 대신, 일반적인 이미지 생성 시간까지 포함하도록 읽기 타임아웃을 늘립니다.
  • 간헐적인 네트워크 오류가 발생하면 백오프를 적용하여 제한된 횟수만큼 재시도합니다.
500ms는 네트워크 오버헤드 또는 작업 제출의 목표 시간으로 간주해야 하며, 이미지 완료가 보장되는 시간으로 간주해서는 안 됩니다. 실제 지연 시간은 클라이언트 위치, ISP 라우팅, 동시 실행 수, 선택한 이미지 모델 및 업스트림 처리에 따라서도 달라집니다. 프로덕션과 유사한 동시 실행 수로 테스트를 실행하고, 배포 전에 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 핸드셰이크 자체가 실패할 때의 임시 해결 방법으로만 사용하거나, 신뢰할 수 있는 내부 네트워크 또는 전용 회선 내에서 사용하십시오.
HTTP는 TLS 암호화를 제공하지 않습니다. API 키와 요청 콘텐츠가 평문으로 전송됩니다. 이 엔드포인트는 신뢰할 수 있는 네트워크 또는 올바르게 구성된 전용 회선이나 터널을 통해서만 사용하십시오. 공용 네트워크에서 직접 호출하지 마십시오.

관련 문서