Domanda

Quindi l'ho appena scaricato yslow per firebug e ho dato un'occhiata ai risultati di un sito che sto costruendo.

Vedo consigli, ad esempio, per utilizzare ETag, dominio senza cookie per i miei componenti statici e aggiungere intestazioni di scadenza.

Sto pensando, beh, potrei andare e risolverli, ma è più probabile che ci siano un sacco di altre ottimizzazioni che potrei fare prima, ad esempio memorizzare nella cache i risultati dalle chiamate al database o qualcosa di simile.

Non penso che questo sito riceverà un utilizzo "così tanto" da giustificare i consigli di YSlow.

So che non dovresti mai ottimizzare prima di sapere che è necessario, ma penso che cose come gli ETag e le intestazioni di scadenza entrino sicuramente in gioco solo su siti con traffico molto intenso.

Se, ad esempio, ho scritto un'implementazione scadente che effettua 5 (relativamente piccole) chiamate al database per richiesta e YSlow mi dice che le mie 14 immagini non si trovano su un dominio privo di cookie, allora quale di queste due ottimizzazioni dovrebbe essere affrontato per primo?

È stato utile?

Soluzione

YSlow è bene controllare la "User Experience", che voi utenti stanno vedendo. Le sue raccomandazioni sono per contribuire a rendere la pagina visualizzato per caricare più velocemente. Per esempio. 14 immagini a 1 immagine e sprite è puramente una cosa visiva. La regola è che i browser possono scaricare solo poche immagini in parallelo in qualsiasi momento.

Vorrei sempre affrontare le ottimizzazioni di back-end prima come possono aiutare a rendere il vostro sito scalabile, se si arriva mai così grande.

Altri suggerimenti

In nessun YSlow nostro guru .htaccess. Ma di recente ho costruito un sito Joomla e utilizzato YSlow di trovare aree di miglioramento. Le due aree di YSlow che hai chiesto di sopra - "Aggiungi Scade intestazioni" e "tag Configura entità (ETAG)" - ho affrontati tramite un file .htaccess nella directory principale del mio dominio

.

Aggiungi Scade intestazioni

Yahoo dice: "le pagine Web stanno diventando sempre più complesso con più script, fogli di stile, immagini e flash su di essi Una visita per la prima volta ad una pagina può richiedere diverse richieste HTTP per caricare tutti i componenti Utilizzando Scade intestazioni.. questi componenti diventano memorizzabile nella cache, che evita le richieste HTTP inutili successive pagine viste. Scade intestazioni sono più spesso associati con le immagini, ma possono e devono essere utilizzati su tutti i componenti della pagina, tra cui script, fogli di stile e Flash ".

Per risolvere questo problema, ho trovato e aggiunto il seguente blocco di codice nel mio file .htaccess (nota: il cambiamento OPENANGLEBRACKET a "<" e CLOSEDANGLEBRACKET a ">"):


    ########## Begin - Expires Headers
    #
    OPENANGLEBRACKET IfModule mod_expires.c CLOSEDANGLEBRACKET 
    ExpiresActive On
    ExpiresDefault "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month" 
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/plain "access plus 1 week"
    ExpiresByType video/x-flv "access plus 1 month"
    OPENANGLEBRACKET /IfModule CLOSEDANGLEBRACKET
    #
    ########## End - Joomla! core SEF Section

Configura tag entità (ETAG)

Yahoo dice: "tag entità (ETAG) sono un server web meccanismo e l'uso del browser per determinare se un componente nella cache del browser corrisponde a uno sul server di origine Dal ETags sono in genere costruiti usando gli attributi che li rendono unici ad una. server specifico hosting di un sito, i tag non corrisponderà quando un browser ottiene il componente originale da un server e poi tenta di convalidare tale componente su un server diverso. "

Ho deciso di rimuovere tutti Etags, che mi ha dato un grado di A, con l'aggiunta di questo al mio file .htaccess:


    ########## Begin - Remove Etags
    #
    FileETag none
    #
    ########## End - Remove Etags

Queste due modifiche al mio file .htaccess mi ha dato una gradi per queste due categorie YSlow.

Fix quale uno profilazione , dice che sta causando il rallentamento più per pagine viste.

Ricordate che qualsiasi cosa si correzione che YSlow si lamenta molto probabilmente di aiuto in seguito, senza che sia necessario fare di nuovo, mentre l'ottimizzazione del database sarà un compito permanente.

vale a dire, se si dividono le immagini su più domini e renderli senza cookie, poi quando si aggiungono più immagini dovrebbero essere suddiviso su quei domini (si spera automaticamente ) e Will non richiede di nuovo sforzo.

Inoltre, Scade intestazioni portano a livelli più bassi di richieste sul server (dal momento che le risposte possono essere memorizzati nella cache), che accelerare le visite per tutti .

Tieni presente che YSlow non può vedere il codice backend, in modo che possa basare solo le sue raccomandazioni sulla interazione del browser con il tuo sito. Si dovrebbe certamente risolvere il database chiama prima. raccomandazioni di YSlow per quanto riguarda le richieste multiple, gzip, ecc sono abbastanza solido, ma è per sempre mi diceva di utilizzare una rete di distribuzione di contenuti - che non ha senso per un piccolo sito. Basta non spendere un sacco di tempo / denaro su ogni raccomandazione alla cieca, e fattore di ciò che si sa e YSlow non lo fa.

Hai perfettamente ragione, ottimizzando all'interno del codice dell'applicazione come

  • Ottimizzazione delle query lente del database
  • Memorizzazione nella cache delle query eseguite di frequente
  • Caching a livello di componente dei componenti utilizzati di frequente
  • Ottimizzazioni generali della velocità di codici applicativi costosi

nella maggior parte dei casi ti offrirà guadagni in termini di prestazioni molto più elevati rispetto alle raccomandazioni YSlow.

Le ottimizzazioni lente sono solitamente indirizzate a migliorare le prestazioni delle parti statiche del tuo sito, che generalmente funzioneranno già meglio delle parti dinamiche, prima di qualsiasi modifica.

, si prega non utilizzano i cookie e scade per il contenuto statico.

Non si limita a contribuire, aiuta me .

Io uso un collegamento a Internet più lenta a casa, di 144 Kbps. Spesso l'ho caricato all'inverosimile, il download di aggiornamenti o file video. Questo rende la sua latenza andare fino a 800 ms o giù di lì.

I siti web che richiedono un sacco di viaggi andata e ritorno per l'If-Modified-Since assegni tempo di caricamento molto lentamente. I siti che utilizzano Valida fino correttamente caricare rapidamente perché solo il contenuto dinamico deve caricare in realtà.

Il codice backend è il più delle volte più veloce rispetto al codice di frontend. Provare a tenere la quantità di risorse esterne (immagini di sfondo css, file CSS e file JavaScript) fino ad un minimo.

Questa sarebbe l'ottimizzazione più importante che si può fare IMHO.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top