2.1.1 AI는 왜 이런 문제를 놓쳤을까?
시니어 개발자 제이가 실제 채팅 서비스를 연결했을 때 드러난 문제들을 다시 살펴보면 다음과 같은 현상을 발견할 수 있습니다.
첫째, 응답 시간이 기하급수적으로 늘어났습니다. 용이는 ‘요청을 보내면 응답이 온다’는 것만 확인했습니다. 하지만 ‘응답이 얼마나 빨리 와야 하는가’는 확인하지 않았습니다. 테스트 툴에서 요청 하나를 보내면 1초도 안 걸려서 응답이 옵니다. 문제가 없어 보입니다. 하지만 무거운 요청의 LLM 연산이 연속으로 들어오면 어떻게 될까요? 연산이 오래 걸리는 응답과 연산이 오래 걸리지 않는 응답이 번갈아서 오면 어떻게 될까요? 연산 시간이 길어지면서 응답이 지연되거나 누락되기 시작합니다. 이것이 바로 성능(performance) 문제입니다.
둘째, 특정 파드에 요청이 몰렸습니다. 용이의 테스트는 요청을 한 번에 하나씩 보내는 방식이었습니다. 하나씩 차례대로 요청하고 다음 파드에서 그 요청을 받는지를 확인했습니다. 하지만 실제 서비스에서는 수십, 수백 명의 사용자가 동시에 요청을 보냅니다. 라운드 로빈으로 분배된다고 했지만, 동시에 많은 요청이 몰렸을 때 실제로 어떻게 동작하는지는 테스트하지 않았습니다. 이는 실제 환경을 고려하지 않은 테스트였습니다. 이것이 바로 확장성(scalability) 문제입니다.