사용자들은 지연 상황을 만나고 있는 것입니다.
앱이나 웹서비스가 시작되고 사용자가 증가되다가, 어느 시점부터 '장애'와 '지연'에 대한 내용이 게시판이나 Email문의가 발생하기 시작합니다.
개발팀과 논의해도 해당 상황들이 재현이 안 되는 경우가 발생하기 시작합니다.
분명, 특정 상황에만 문제가 발생해서 발생되는 지연 상황이라고 내부 토의에 의해서 결정되는 경우가 대부분입니다.
하지만!
이 문제를 초기에 잡지 못하면, 향후 비즈니스의 상황은 가속화되거나 증가되는데 매우 어려움을 겪습니다.
분명한 것은.. 한두 명의 사용자가 만난 '장애'와 '지연'문제는 현재의 비즈니스 로직과 현재 서버의 성능과의 비례관계나 상관관계를 넘어선 가속도가 만들어질 때에 발생합니다.
이때에 관련 문제를 잡아야, 비즈니스를 접근하는 사용자의 이탈률이 줄어들고, 가속화됩니다.
EtoE의 기본적인 개념은 이탈 사용자를 잡기 위해서 기본 적인 서비스가 원활하게 동작하게 하는 것입니다. 이때에, Continuous Monitoring의 개념이 필요합니다.
지속적인 모니터링을 통해서, 장애가 예상되거나, 장애나 지연이 발생되는 위치를 미리 찾아야 합니다.
대부분 Query문제가 초기에 발생하는데, 이 문제를 잡기 위해서 DB 모니터링을 먼저 고민하게 됩니다. 하지만, 그렇지 않습니다. 이 문제는 Application의 웹 초기 단계에서 증가되거나 Node.js나 톰캣이 조금만 증대되면 다른 문제를 파생하게 됩니다.
Slow Query의 발생 시점을 체크해서 Application의 위치를 어떻게 처리하고, 배분할 것인가를 먼저 고민해야 합니다. 물론, 느린 Slow Query는 당연하게 잡아야 하고요.