Pregunta

Así que acabas de descargar YSlow para Firebug y han echado un vistazo a los resultados de un sitio que estoy construyendo.

Estoy viendo recomendaciones, por ejemplo, utilizar ETags, dominio gratis en cookies para mis componentes estáticos, y añadir expira cabeceras.

Estoy pensando, así que podía ir fuera y fijar éstos, pero hay más probabilidades de un montón de otras optimizaciones que podía hacer en primer lugar, por ejemplo los resultados de cache de las llamadas bases de datos o algo similar.

No creo que este sitio será 'mucho' uso para justificar las recomendaciones del YSlow.

Yo sé que nunca se debe optimizar antes de saber lo que necesita, pero estoy pensando en cosas como ETags y expira cabeceras seguramente sólo entran en juego en los sitios con tráfico muy pesado.

Si, por ejemplo, he escrito una implementación pobre que hace 5 (relativamente pequeño) llama a la base de datos por solicitud, y YSlow me dice que mis 14 imágenes no están en un dominio sin cookies, entonces cuál de los dos optimizaciones deberían abordarse en primer lugar?

¿Fue útil?

Solución

YSlow es bueno para comprobar la "experiencia del usuario" que se están viendo los usuarios. Sus recomendaciones son para ayudar a hacer la página aparecerá para cargar más rápido. P.ej. 14 imágenes a 1 imagen y spriting es puramente una cosa visual. La regla es porque los navegadores sólo pueden descargar algunas imágenes en paralelo en un momento dado.

Yo siempre frente a las optimizaciones de back-end primera, ya que le pueden ayudar a hacer su sitio escalable, si alguna vez se pone tan grande.

Otros consejos

En ningún YSlow nuestro gurú .htaccess. Sin embargo, recientemente he construido un sitio web Joomla y solía YSlow para encontrar áreas de mejora. Las dos áreas de YSlow que se le preguntó acerca de arriba - "Añadir Expira cabeceras" y "etiquetas de entidad Configurar (eTags) -" Me dirigidas a través de un archivo .htaccess en la raíz de mi dominio

.

Añadir Expira encabezados

Yahoo dice: "páginas web son cada vez más complejo, con más scripts, hojas de estilo, imágenes y flash en ellos Una visita por primera vez a una página puede requerir varias peticiones HTTP para cargar todos los componentes Mediante el uso Expira cabeceras.. estos componentes se convierten en cacheables, lo que evita las peticiones HTTP innecesarias en posteriores visitas. Expira cabeceras más a menudo se asocian con imágenes, pero pueden y deben ser utilizados en todos los componentes de la página, incluyendo scripts, hojas de estilo, y el flash. "

Para hacer frente a esto, he encontrado, y añadió la siguiente bloque de código a mi archivo .htaccess (nota: el cambio OPENANGLEBRACKET a "<" y 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
etiquetas

Configurar entidad (eTags)

Yahoo dice: "etiquetas entidad (eTags) son un mecanismo de servidores web y el uso del navegador para determinar si un componente en la caché del navegador coincide con uno en el servidor de origen Desde ETags se construyen típicamente utilizando atributos que los hacen únicos a una. servidor específico alojar un sitio, las etiquetas no coinciden cuando un navegador recibe el componente original de un servidor y luego intenta validar ese componente en un servidor diferente ".

decidí eliminar todo Etags, que me dio una calificación A, añadiendo esto a mi archivo .htaccess:


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

Estos dos cambios en mi archivo .htaccess me dio una Grados para estas dos categorías YSlow.

Fix lo que uno perfiles dice que está causando la mayor desaceleración de páginas vistas.

Recuerde que todo lo que usted fija YSlow se queja de lo más probable ayuda más adelante sin tener que hacerlo de nuevo, mientras que la optimización de la base de datos será una tarea permanente.

es decir, si divide sus imágenes a través de múltiples dominios y hacerlos sin cookies, a continuación, a medida que añada más imágenes deben ser dividida sobre esos dominios (esperemos automáticamente ) y no requieren un esfuerzo de nuevo.

Además, Expira cabeceras conducen a niveles más bajos de peticiones en el servidor (ya que las respuestas pueden almacenar en caché), que acelerar las visitas para todos .

Tenga en cuenta que YSlow no puede ver su código de fondo, por lo que sólo puede basar sus recomendaciones sobre la interacción del navegador con su sitio. Por supuesto que debe fijar su base de datos llama primero. Las recomendaciones del YSlow con respecto a las solicitudes múltiples, gzip, etc son bastante sólido, pero está siempre diciéndome que utilizar una red de distribución de contenidos - que no tiene sentido para un pequeño sitio. Eso sí, no gastar un montón de tiempo / dinero en cada recomendación a ciegas, y el factor de lo que sabe y YSlow no lo hace.

Usted está en lo cierto, la optimización en el código de la aplicación, tales como

  • La optimización de consultas a la base lentos
  • El almacenamiento en caché de consultas ejecutadas con frecuencia
  • nivel de componente de almacenamiento en caché de los componentes utilizados con frecuencia
  • optimizaciones de velocidad generales de código de aplicación costosa

le dará ganancias de rendimiento mucho más altas que las recomendaciones YSlow en la mayoría de los casos.

optimizaciones YSlow suelen estar dirigidas a mejorar el rendimiento de las piezas estáticas de su sitio, ya que por lo general se obtienen mejores resultados que las partes dinámicas, antes de cualquier ajuste.

por favor utilidad No galletas y desaparezca para tu contenido estático.

No sólo le ayude, que ayuda a .

Yo uso un vínculo más lenta a Internet en casa, 144 Kbps. A menudo tengo que cargar con la capacidad, la descarga de actualizaciones o archivos de vídeo. Eso hace que su latencia ir hasta 800 ms o menos.

Los sitios Web que exigen una gran cantidad de idas y vueltas para If-Modified-Dado que los controles de tiempo de carga muy lentamente. Los sitios que utilizan adecuadamente caduca cargar rápidamente ya que sólo el contenido dinámico tiene que cargar en realidad.

El código de fondo es más a menudo más rápido que el código de interfaz. Trate de mantener la cantidad de recursos externos (imágenes de fondo de CSS, archivos de archivos CSS y JavaScript) a un mínimo.

Esa sería la optimización más importante que uno puede hacer en mi humilde opinión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top