실사용 환경 테스트

2024년 8월 2일 금요일

Today I Learned

날짜

2024년 8월 2일 금요일

내용

실사용 환경 테스트

아임리포트의 개발이 끝났다. 실서버 구축도 완료했고.. 마지막으로 일부 고객들을 대상으로 한 베타테스트 전에 열심히 테스트를 돌려봤다. 네이버 API로 가져오는 데이터 양이 많은 것은 당연히 알고 있었으나, 생각치도 못한 부분에서 문제가 발생했다. AWS Lambda는 지속시간이 15분이 넘을 수 없는데 일부 테스트때 로직 수행 시간이 15분이 넘어갔다.. “검색어 성과”에 관한 데이터를 가져올떄는 가져오는 데이터가 많은데, 특히 데이터가 많은 브랜드로 테스트 해보니 15분이 훌쩍 넘어가서 기능이 제대로 문제가 됐다. 다른 브랜드들은 괜찮았는데 하…

우선 람다를 이용하지 않고 서버에서 작동하도록 바꾸어놨는데, 호출이 시작되는 순간에 네이버랑 가장 많은 데이터를 주고받고 이떄 CPU 사용률이 80%까지 치솟는다. 애초에 서버에 무리가 갈 수 있다는 걸 알아서 람다를 사용헀던 건데.. 동시에 여러 유저가 사용할 경우 문제가 발생할 여지가 커보인다.

Step Function을 사용할까 고민해봤다. 구글 스프레드시트를 생성하고, 네이버에서 데이터를 가져오고, 데이터를 전처리하고, 스프레드시트에 삽입하는 람다를 분리해서 처리할 수 있다. 여러 람다를 순차적으로 실행하는 Step Function을 이용하면 될 것 같다. 근데, 이미 현재 로직에서도 대부분의 시간이 네이버에서 데이터를 가져오는데 소모되는 시간이라 다른걸 분리하더라도 네이버 관련 로직이 15분 안에 끝난다는 보장이 없다…

좀 더 길고 큰 동작하는데 사용되는 ECS를 호출하는 방식이 최선일까 싶다. 아무리 서버 오토 스케일링이 작동하더라도 안터진다는 보장도 없을 뿐더러 순간적으로 80% 가까이 치솟는 게 괜찮을리가…

회고

빨리 개발 완성하고 해봤어야 했는데 나 뭐하냐아아아아아아