IL-0123 OpenAI · 2023-11-08ai-infra
2023년 11월 8일 태평양 시각 오전 5시 42분부터 7시 16분까지 OpenAI 로 가는 요청 상당수가 502 나 503 오류로 실패했다. 모든 모델과 API 엔드포인트가 영향을 받았다. 라우팅 계층 노드가 메모리 한도에 걸려 레디니스 검사에 실패했다. 사용할 수 없는 노드가 충분히 많아지자 남은 용량으로는 들어오는 트래픽을 감당하지 못했다. 서비스는 스스로 회복하지 못했다. OpenAI 는 그날 아침 completion 수가 그전 어느 날보다 훨씬 많았던 것을 결정적 계기로 보고 있다.
메모리 문제의 바탕에는 버그가 있었다. 코드가 루프 안에서 responseBuffer 를 재사용하지 않고 계속 새로 할당했다. 특히 요청이 많을 때 GC 가 이를 따라가지 못했다. 팀은 들어오는 트래픽을 제한하고 서비스를 한꺼번에 재배포한 뒤 트래픽을 천천히 다시 올려 장애를 줄였다. 이후 버퍼를 미리 할당해 재사용하도록 코드를 고쳤다. 이 수정을 배포한 뒤 메모리와 CPU 사용량이 모두 3배 개선됐다.
이 서비스는 용량을 늘리면 상위 서비스에 나쁜 영향을 줄 수 있어서 그동안 오토스케일링을 켤 수 없었다. 지금은 그 문제를 바로잡았고, 이 서비스에 오토스케일링을 설정할 예정이다.
2023년 11월 8일 태평양 시각 오전 5시 42분부터 7시 16분까지 OpenAI 로 가는 요청 상당수가 502 나 503 오류로 실패했다. 모든 모델과 API 엔드포인트에서 실패가 크게 늘었다.
라우팅 계층 노드가 메모리 한도에 걸리면서 레디니스 검사에 실패했다. 사용할 수 없는 노드가 늘어나 결국 들어오는 트래픽을 처리할 용량이 모자랐고, 서비스는 스스로 회복하지 못했다.
그날 아침 completion 요청은 그전 어느 날보다 훨씬 많았다. OpenAI 는 이 요청 증가가 서비스를 무너뜨린 마지막 계기였다고 본다.
원인 ? 소프트웨어 결함
–
–
같은 원인 · 공통 모델 요청 라우팅
같은 원인 · 공통 모델 요청 라우팅
같은 원인 · 공통 컨테이너 메모리 한도