Maketdagi bitta qator saytni uch barobar sekinlashtirdi
Next.jsПроизводительностьКэшVercel
Sayt taxminan 880 ms javob berardi. Birinchi izoh geografik edi: server uzoqda. Yaqinroq ko'chirish 679 ms berdi — sezilarli, lekin kutilganday emas.
Demak, masofa emas. Umumiy maket sessiyani so'rardi: kim kirgan, shapka ismni ko'rsatsin. Bitta qator, zararsiz ko'rinadi. Lekin sessiyani o'qish — bu cookie o'qish, cookie o'qish esa sahifani dinamik qiladi.
Yechim — sessiyani serverda so'ramaslik. Shapka kim kirganini brauzerda, alohida so'rov bilan biladi. Javob taxminan 300 ms ga tushdi.
Saboq: Next'da cookie yoki sarlavhaga har qanday murojaat millisekundlarga emas, shu maket ostidagi barcha sahifalarning keshiga tushadi.
React · TSX
1exportdefaultasyncfunctionLocaleLayout({ children, params }) {2const { locale } = awaitparams;34 /**5 * Сессию здесь НЕ спрашиваем.6 *7 * auth() читает куку, а это делает страницу динамической: Next8 * пересобирает её на каждый запрос и запрещает кэширование на9 * пограничных узлах. Из-за одной строки весь сайт ехал целиком10 * при каждом открытии.11 *12 * Теперь сессию получает шапка на стороне браузера — см.13 * SessionBoundary. Страница остаётся статической.14 */15constsettings = awaitgetSettings();1617return <SessionBoundary>{children}</SessionBoundary>;18}