Primo byte time vs CDN?

Quali sono le differenze tra il caricamento di una pagina tramite CDN e quali tipi di provider state utilizzando?

Con la CDN ho tempi di caricamento molto più lunghi. Potrei aver sbagliato qualcosa o non essere a conoscenza di qualche aspetto? Forse dovrei ancora configurare alcune impostazioni di cui non sono a conoscenza?

La CDN sarà più lenta finché non avrà memorizzato nella cache le risorse. Potrebbe essere necessario attendere un po’ prima di eseguire qualsiasi test.

Bene, il primo indizio… grazie a .
Un po’. Quanto? Parliamo di giorni, settimane?

Dovremmo forzare un payload in https o piuttosto in http? Chiedo perché ci sono differenze nel caricamento. Da cosa dipende se la pagina viene caricata interamente o sembra che il javascript originale non sia stato caricato??

Il lasso di tempo dipenderà da come gli utenti interagiscono con il sito. Le risorse più scaricate verranno caricate nella cache del CDN e saranno più veloci se sei più vicino al server CDN rispetto al server originario.

Se il datacenter si trova vicino a te e il server CDN dista 1000 km, sarà sempre più lento. L’idea del CDN è servire meglio un pubblico geograficamente diversificato, non migliorare le visite centralizzate.

Ma stiamo parlando di una situazione in cui aggiungiamo l’indirizzo CDN al nostro file app.yml o no?

E qual è il motivo per utilizzare un sottodominio per l’indirizzo CDN? Cioè, perché non può essere DISCOURSE_CDN_URL: //637763234.cdn-provider.com e dovrebbe essere discourse-cdn.example.com??

Sì, lo so, ma sto testando con diversi strumenti di prova provenienti da molte regioni del mondo. E la CDN è sempre più lenta!

Di quale percorso stai parlando esattamente in relazione al TTFB?

Il TTFB per una risorsa statica (come un file JS o un’immagine JPG caricata dall’utente) sarà sempre veloce utilizzando una CDN, poiché la latenza dei diversi PoP contribuirà a migliorarlo.

D’altra parte, confrontare il TTFB per le rotte dinamiche non ha senso, dato che il nostro DISCOURSE_CDN_URL non le copre comunque.

Puoi spiegare esattamente cosa intendi?

Sto fornendo i risultati per il forum di test. (tra l’altro è appena uscito un po’ più velocemente) // Ma è solo su un dominio nuovo senza contenuti.

e per quello creato su CloudFront

Ciò che stai vedendo è solo una normale varianza. La CDN non avrà alcun impatto sul time to first byte nella root della tua istanza di Discourse o in qualsiasi altra route dinamica. Una CDN servirà solo gli asset statici.

E c’è una differenza se queste risorse (asset statici) vengono conservate in S3?

No, non ce ne sono. Il CDN memorizzerà nella cache quelle risorse da S3 quando necessario.

È solo un indirizzo di facciata, non è affatto necessario.

Speravo che il CDN accelerasse il caricamento della pagina, ma immagino che l’effetto sarà trascurabile.

Esistono altri metodi molto più efficaci per accelerare il caricamento della pagina per le diverse parti del mondo, oltre ad aumentare le risorse RAM e CPU?

TTFB è il tempo necessario al server dell’applicazione per inviare una risposta 200. Non è possibile migliorarlo utilizzando una CDN, poiché la CDN serve solo gli asset.

Accelererai il caricamento della pagina, ma non il Time to First Byte. Accelererai il caricamento di contenuti multimediali (immagini, PDF, video) e JavaScript. Questo migliorerà la reattività del sito, ma tutto il contenuto dinamico dovrà essere caricato dal server centrale.

Quindi, ad esempio, gli avatar degli utenti saranno più veloci, ma non i titoli dei topic.

Poiché Discourse blocca il rendering in attesa di JS e CSS, potrai comunque rendere la pagina interattiva più velocemente sfruttando una CDN.

Eseguire questo tipo di analisi richiede un po’ più che lanciare alla cieca Lighthouse e WebPageTest, scegliere un risultato e ossessionarsi al suo riguardo.

Se la tua priorità è avere una pagina con un punteggio più alto su questi strumenti, ti consiglio di gestire un blog utilizzando strumenti come https://jekyllrb.com/.

Allora, come dovrei analizzarlo?