Gettare la preconnessione non utilizzata e fissare i 565 ms di brotli ho aggiunto

Performancekamo-marketing
Shipped
20 agosto 2026 alle ore 21:02 UTC
Author
Kamo
Commit
d268380

Due scoperte, e la seconda era mia. Il DOCUMENTO TOOK 1.259 ms BECAUSE DEL NONCE WRAPPER. Misurato contro il sito live: l'HTML ha risposto in ~900 ms mentre un statico asset ha risposto in 59 ms. La differenza è `zlib.brotliCompress` chiamato senza opzioni, che funziona a QUALITY 11 — l'impostazione più lenta — su ~490 KB di HTML, per richiesta, per ogni visitatore. q=11 565 ms 38,094 byte q= 6 13 ms 43,705 byte q= 5 ms 44,699 byte gzip 8 ms 75,360 byte Qualità 11 acquista 6,6 KB di qualità 5. Su un link mobile che vale la pena circa 30 ms di trasferimento, contro 560 ms di CPU del server: mezzo secondo perso, da tutti, in ogni pagina, per salvare un terzo di un secondo vale la pena di byte. Qualità 5 ancora batte gzip di 30 KB. TTFB locale attraverso il wrapper va ~900 ms -> ~21 ms. check-csp-nonce.mjs ora fallisce la costruzione se brotliCompress è chiamato senza un qualità esplicita. Un'affermazione di tempismo sarebbe sfacciata in CI; la forma della chiamata non lo è. Verificato reintroducendo il bug e osservandolo fallisce, quindi ripristinando. Il PRECONNECT è ora un DNS-PREFETCH. Lighthouse aveva ragione che era inutilizzato, e la ragione è che il lavoro rimuovendo richieste rimosso i suoi clienti. Lo sfondo dell'eroe passa attraverso / next/image, quindi è lo stesso-origine; il wordmark è inline; la bobina è tap-to-play; il SVG Favicon e' sparito. Tracciare ciò che realmente contatta quell'origine: niente fino al chat widget a +9.3 s, ed è `lazyOnload`. Chrome chiude una preconnessione idle presa dopo circa dieci secondi, quindi la connessione è stata aperta a parse time e abbandonato prima che qualcuno lo raccogliesse. La risoluzione DNS è la metà che aiuta ancora e la metà che sopravvive — in cache molto più lungo di una presa, quindi il widget salta una ricerca quando finalmente arriva, e nulla è tenuto aperto nel frattempo. Stessa forma del suggerimento di analisi accanto a esso, che è lazyOnload per lo stesso motivo. Sull'albero di dipendenza: sono due livelli, documento -> foglio di stile, che è già minimale. La catena era lunga perché il suo primo collegamento era lento, non perché era profondo — quindi la correzione sopra è la soluzione per entrambi. Inlineare il foglio di stile a rimuovere il secondo link rimane respinto sulla misura già registrata in next.config.ts.

All changes

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo