이슈
노션 블로그를 개발하면서 Next.js 의 On-Demand Revalidation 를 통해 GET: api/revalidate 로 API 를 요청하여 즉각적으로 revalidate 를 진행할 수 있도록 설정했었다.
그래서 실제 배포된 페이지에서 제대로 동작하는지 postman 에서 API 요청을 진행했는데 에러 메시지가 발견되었다.
확인해보니 vercel 의 Hobby tier (무료 등급) 의 경우, API 제한 시간이 10초이기 때문에 10초가 지나면 504 에러가 발생하는 것이였다.
해결
Post 와 Tag 의 모든 데이터를 적용하기 위해서
for..in
을 사용하여 반복문을 적용했었는데 이것을 Promise.all() + map()
로 변경하여 요청 시간이 초과하는 문제를 해결하였다.for..in
을 사용한 경우
Promise.all() + map()
을 사용한 경우
예전에 반복문의 속도에 관한 글을 읽었었는데 그 당시에 확인만 하고 그냥 넘어가 버려서 이런 이슈가 발생한 것 같다…..긍정적으로 생각하면 이런 식으로 내 프로젝트를 진행하는 중에 경험하게 돼서 공부가 많이 되었다. 다음에는 이런 성능에 관한 문제들은 작업 전에 더 신경 써야겠다!!
참고