Summary
/article path의 페이지 로드가 간헐적으로 3초~6초 지연됩니다.
Description
AS-IS
credited to @Turtle-Hwan
TO-BE
- 좋은 UX를 위하여, /article 페이지의 LCP 시간을 2.5초 이내로 유지합니다.
- /article 페이지의 TTFB를 0.8초 이내로 유지합니다.
Solution
다음과 같이 해결해볼 수 있을 것 같습니다.
- Next.js의
use cache directive를 사용하여, getArticles의 return value를 data cache에 저장한다.
- 캐싱을 통하여 사용자가 cold start time을 느낄 수 없게 합니다.
- 다만, article을 업데이트하는 query가 완료되는 시점까지 업데이트된 article을 받아볼 수는 없습니다. 그런데 데이터의 신선함이 그렇게 중요하지 않기에, stale data여도 괜찮다고 보입니다.
- 하지만 pagination 및 tag로 인하여 getArticles의 내용이 tag 및 pagination 값에 따라 시시각각 변동될 것으로 예상이 됩니다. 따라서, 첫 페이지를 로드시에만 다음과 같은 article 목록을 제공하는 것은 어떨까요?
References
Summary
/article path의 페이지 로드가 간헐적으로 3초~6초 지연됩니다.
Description
AS-IS
credited to @Turtle-Hwan
TO-BE
Solution
다음과 같이 해결해볼 수 있을 것 같습니다.
use cachedirective를 사용하여,getArticles의 return value를 data cache에 저장한다.References