Imágenes de rendimiento de Magento y estática en CDN

11

Estamos investigando nuevas mejoras de velocidad de Magento. Lo que vemos ahora es que con la siguiente configuración la página vuela. Solo las imágenes vienen después. Los archivos principales se entregan en un par de milisegundos, pero el tiempo de carga sigue siendo de 2 segundos debido a las imágenes.

  • almacenamiento en caché de mago
  • fusionar css / js
  • minify apc + memcache
  • ajustes de htaccess
  • sesión / caché en tmpfs

Mi pregunta: ¿cuáles son los pasos para configurar un CDN (en mi propio servidor)? (y realmente ayuda)

Entiendo que es algo como esto (pero esto no funciona en absoluto):

  1. crear subdominio cdn
  2. cambiar la raíz del documento (y / o por qué establecer un cname?)
  3. cambiar configuración
snh_nl
fuente

Respuestas:

11

Un CDN o Content Delivery Network en general funciona mediante el uso de un servicio que proporciona servidores en todo el mundo para entregar rápidamente archivos multimedia al usuario final reduciendo la latencia de la red. Esto significa que un CDN beneficia a su tienda web cuando tiene clientes de todo el mundo que visitan su tienda.

Entonces, lo que está proponiendo hacer es tomar estrictamente no realmente un CDN. Pero aparte de eso, hay un par de cosas que puedes hacer.

  • Configure un subdominio que envíe la menor cantidad posible de encabezados adicionales (como cookies) junto con las imágenes
  • Configure NginX en su servidor para dar servicio a archivos estáticos. Como NginX es mucho más rápido que Apache, esto te dará algo de velocidad
  • Use un servicio como http://www.jpegmini.com/ para comprimir aún más su JPEG
  • Utilice un servidor de archivos diferente para servir imágenes, un servidor web de propósito general está configurado para servir, en este caso, páginas PHP. Un servidor de archivos tendrá una configuración diferente más adecuada para servir imágenes rápidamente.

Para servir imágenes de un subdominio, deberá hacer lo siguiente: agregar el subdominio a su DNS (cdn.shirtsofholland.com), agregar un alias de servidor a su configuración de Apache para el paquete existente en el que se ejecuta la tienda.

ServerAlias cdn.shirtsofholland.com

Reenviar el subdominio a este paquete y luego, en el backend de Magento, vaya a System > Configuration > General > Web > (un)secure urlcambiar el Base media URLahttp://cdn.shirtsofholland.com/

El proceso para su propio servidor se llama Fragmento de dominio . [Actualización 11jan2017] Dado que HTTP / 2 Domain Sharding ya casi no tiene ningún beneficio

En caso de que desee un CDN real, mire un servicio como OnePica, la extensión de Magento se puede encontrar aquí o Amazone AWS, usando el tutorial de Ashley Schroder

Sander Mangel
fuente
9

No necesita ningún código adicional o complementos para usar un CDN que admita la búsqueda de origen. Estos incluyen Akamai, Cloudflare y Amazon Cloudfront. Todo lo que tiene que hacer es apuntar Sistema> Configuración> URL JS, Máscara y Medios de la Web al dominio correcto:

ingrese la descripción de la imagen aquí

También puede configurar registros CNAME en DNS para que el DNS responda en un subdominio a su dominio raíz.

philwinkle
fuente
3

CDN es solo 1 bloque de construcción del rendimiento de su sitio web E2E y tiene un propósito muy específico que es proporcionar una capacidad de escalado casi ilimitada y mejorar el rendimiento / velocidad a la que se sirven los objetos estáticos a los visitantes de su sitio mediante la distribución de estos objetos estáticos al borde servidores lo más cerca posible de sus visitantes en todo el mundo utilizando servidores de entrega optimizados para compilación.

Si su audiencia se extiende por todo el mundo, entonces tiene mucho sentido usar una solución comercial CDN en lugar de comprar servidores y ancho de banda en todo el mundo. Solo un puñado de empresas tiene el dinero y la experiencia para construir dicha red. Google lo ha hecho, Netflix lo está haciendo, pero a menos que seas tan grande, no tiene sentido económico construir tu propia CDN y es mejor que uses uno de los proveedores comerciales de CDN. Los principales proveedores de 3 Tier 1 son Akamai, Limelight y EdgeCast.

Hay otros 100 proveedores de CDN. Es un poco como el negocio automotriz, muchas marcas, todas tienen 4 ruedas y un motor, pero existen grandes diferencias entre cada marca / modelo.

No está claro cuál es su audiencia o cuánto tráfico entrega. Sin esta información, es difícil dar una buena respuesta. sin embargo, configurar un CDN comercial es tan fácil como dejarle saber qué dominio sirve archivos estáticos.

suponiendo que static.shirtofholland.com se use para servir objetos estáticos (imágenes, js, css ...), entonces solo necesita crear ese nombre de c, dejar que el CDN sepa dónde está el servidor de Origin (para que pueda extraer el contenido estático y caché en el borde) y finalmente actualice su zona DNS para apuntar ese cname estático a su proveedor de CDN. Alternativamente, puede usar la URL de CDN directamente (proporcionada por su CDN). No es muy elegante pero funciona.

Otro aspecto importante a considerar cuando se busca mejorar el rendimiento son los siguientes:

  • DNS: ¿es su proveedor de DNS actual lo suficientemente rápido y confiable? El uso de un proveedor de DNS administrado será muy útil y no costará mucho dinero.

  • CDN para entrega de objetos estáticos

  • ADN o DSA para acelerar el contenido dinámico (no almacenable en caché). Esto mejorará drásticamente el rendimiento de cualquier sitio de comercio electrónico, pero es relativamente costoso (a diferencia de CDN, que es muy asequible).

  • FEO o Front End Optimization, que puede hacerse mediante la optimización del código (consulte el libro más vendido de Souders O'Reilly, sitios web de alto rendimiento) o utilizando una solución comercial que aplicará estas reglas FEO (y más) sobre la marcha a su sitio. Esto generalmente se realiza sobre la aceleración dinámica.

Laurent
fuente