Seminario e commerce-nexica

31
-1-

description

Conceptos como el rendimiento de las páginas web y la importancia de su impacto en las cifras de tu negocio, además, explica estratégias y técnicas para mejorar este rendimiento en las diferentes fases del ciclo de vida de tu producto.Resumen de la conferencia 'E-commerce: cómo afrontar el crecimiento exponencial'Sebastian Rodriguez.Expo e-commerce16 y 17 marzo de 2011 - Madrid

Transcript of Seminario e commerce-nexica

Page 1: Seminario e commerce-nexica

-1-

Page 2: Seminario e commerce-nexica

Rendimiento en sitios

de e-commerce

Herramientas y

mecanismos

-2-

mecanismos

Sebastián Rodríguez

Service Design de nexica

Rendimiento de un e-commerce ¿?/¿?/2011

Page 3: Seminario e commerce-nexica

Objetivos

1. Analizar el impacto que tiene el rendimiento (tiempos de respuesta ofrecidos al usuario) en webs de comercio electrónico

2. Entender conceptos de la gestión de la capacidad y la optimización del rendimiento en plataformas e-commerce.

3. Conocer las técnicas y herramientas más extendidas en la

-3-

3. Conocer las técnicas y herramientas más extendidas en la mejora del rendimiento y escalabilidad.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 4: Seminario e commerce-nexica

Impacto del Rendimiento en E-commerce

-4- Rendimiento de un e-commerce ¿?/¿?/2011

Page 5: Seminario e commerce-nexica

Impacto en 3 áreas

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-5-

SEOSEOde Usuariode Usuario

DisponibilidadDisponibilidad

Rendimiento de un e-commerce ¿?/¿?/2011

Page 6: Seminario e commerce-nexica

Impacto en 3 áreas: SEO

• Google tiene en cuenta el tiempo de carga de la página en el posicionamiento orgánico (Google > 95% búsquedas en España)

• Nuestra calificación se establece de forma relativa, por comparación al rendimiento de las demás Webs analizadas por Google (según la fórmula y = 122.32e-0.31x)

• Podemos conocer nuestra puntuación a través de Google Webmaster Tools.

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-6-

• Nos interesa compararnos con nuestra competencia, con quien compite en resultados por nuestras posiciones.

• No es un factor determinante, pero sí un factor más.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 7: Seminario e commerce-nexica

Impacto en 3 áreas: SEO

“While site speed is a new signal, it doesn't carry as much weight as the relevance of a page. Currently, fewer than 1% of search queries are affected by the site speed signal”

http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html

• SEOmoz llevó a cabo un experimento para determinar le impacto que el rendimiento tiene sobre el TOP10.

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-7-

• El experimento reveló que no tiene una afectación significativa para los primeros resultados (que tienen altos índices de relevancia por otras métricas), pero que sí puede contar en el “Long Tail”.

• Las conclusiones apuntan a que la velocidad de carga puede actuar más como un factor de penalización que como una mejora (páginas mucho más lentas que la competencia pueden verse penalizadas, mientras que un buen rendimiento queda fácilmente superado por otros criterios de relevancia)

Rendimiento de un e-commerce ¿?/¿?/2011

Page 8: Seminario e commerce-nexica

Impacto en 3 áreas: Experiencia

0,1 segundos Respuesta instantánea Necesario para interfaces de manipulación directa (GUI)

1 segundo Experiencia fluida Recomendable para navegación

10 segundos Límite de atención Máximo tolerable para no perder la atención del usuario

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-8-

Even small changes in response times can have significant effects. Google found that moving from a 10-result page loading in 0.4 seconds to a 30-result page loading in 0.9 seconds decreased traffic and ad revenues by 20%.

When the home page of Google Maps was reduced from 100 KB to 70–80 KB, traffic went up 10% in the first week and an additional 25% in the following three weeks.5 Tests at Amazon revealed similar results: every 100 ms increase in load time of Amazon.com decreased sales by 1%

Website Optimization, Andrew B. King, Ed. O’Reilly

Jakob Nielsen Alertbox, http://www.useit.com/alertbox/response-times.html

Rendimiento de un e-commerce ¿?/¿?/2011

Page 9: Seminario e commerce-nexica

Bounce Rate I

Reducción del

tiempo de carga

(-200 Kb)

Modificaciones a

la Web (imágenes)

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

Impacto en 3 áreas: Experiencia

-9-

http://www.paperstreet.com/blog/2094

http://www.webperformancetoday.com/2010/07/01/the-best-graphs-of-velocity/

Rendimiento de un e-commerce ¿?/¿?/2011

Page 10: Seminario e commerce-nexica

• Un grupo de empresas (especializadas en medir la experiencia de usuario) han desarrollado un índice de satisfacción de usuario basado en el tiempo de respuesta: APDEX

• Representa el porcentaje de usuarios satisfechos según unos umbrales de rendimiento preestablecidos.

• Partimos del hecho de que no todos nuestros usuarios tendrán el mismo rendimiento (realista en entornos Web)

• Es una buena herramienta para establecer objetivos de

Impacto en 3 áreas: Experiencia

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-10-

http://www.apdex.org/

• Es una buena herramienta para establecer objetivos de rendimiento en relación a la experiencia de nuestros usuarios.

• Existen herramientas que y servicios que nos permiten medir el rendimiento en términos de Apdex.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 11: Seminario e commerce-nexica

Alcance

• Pocos usuarios afectados (<20%)

Severidad

• Transacciones no críticas

Frecuencia

• Momentos puntuales

Impacto en 3 áreas:

DisponibilidadSEOSEO

Experiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

-11-

afectados (<20%)

• Muchos usuarios afectados (>20%)

• Todos los usuarios afectados (>90%)

críticas

• Transacciones críticas para la conversión

• La mayoría o todas las transacciones

puntuales (campañas, aparición en medios)

• Periódicamente en determinadas ventanas de tiempo

• Irregular, aleatorio.

• Constante

Rendimiento de un e-commerce ¿?/¿?/2011

Page 12: Seminario e commerce-nexica

¿Qué factores determinan la capacidad y el rendimiento?

1. Una programación eficiente

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

Impacto en 3 áreas:

Disponibilidad

-12-

1. Una programación eficiente

2. Una economía inteligente de los recursos utilizado s (media)

3. Una plataforma sólida y madura

4. Una configuración optimizada de la plataforma

5. La capacidad de los recursos físicos (ancho de banda, CPU, memoria, velocidad de disco, etc.)

Rendimiento de un e-commerce ¿?/¿?/2011

Page 13: Seminario e commerce-nexica

¿Cómo medirla?

Latencias demasiado

altas en determinadas

zonas geográficas

Tiempos de resolución

demasiado altos

SEOSEOExperiencia de UsuarioExperiencia de Usuario

DisponibilidadDisponibilidad

Impacto en 3 áreas:

Disponibilidad

-13-

Errores en transacciones

debidas a programación

demasiado altos

Rendimiento de un e-commerce ¿?/¿?/2011

Page 14: Seminario e commerce-nexica

Conceptos clave en la gestión

y optimización de la capacidad

-14-

y optimización de la capacidad

Rendimiento de un e-commerce ¿?/¿?/2011

Page 15: Seminario e commerce-nexica

Módulos Apache

Arquitectura por capas

Servidor Web (Apache) Base de Datos (MySQL)

PHP

Código de Aplicación

HTML

Gestor de Caché

(memcached)Media

(Contenidos estático)

Scripting de Cliente(Javascript)

Objetos (Flash, Java)

-15-

Cálculo

(CPU, RAM)

Almacenamiento

(Disco)

Red

(LAN, WAN)

Hipervisor

(virtualización)

Sistema Operativo (Linux)

Servidor Web (Apache) Base de Datos (MySQL)

Rendimiento de un e-commerce ¿?/¿?/2011

Page 16: Seminario e commerce-nexica

Módulos Apache

Arquitectura por capas

Servidor Web (Apache) Base de Datos (MySQL)

PHP

Código de Aplicación

HTML

Gestor de Caché

(memcached)Media

(Contenidos estático)

Scripting de Cliente(Javascript)

Objetos (Flash, Java)

-16-

Cálculo

(CPU, RAM)

Almacenamiento

(Disco)

Red

(LAN, WAN)

Hipervisor

(virtualización)

Sistema Operativo (Linux)

Servidor Web (Apache) Base de Datos (MySQL)

Sospechosos habituales

Rendimiento de un e-commerce ¿?/¿?/2011

Page 17: Seminario e commerce-nexica

Patrones de Demanda

Por volumen de peticiones

-17-

Variaciones predecibles y periódicas.Ejemplo: Diurno / Nocturo

Variaciones puntuales Ejemplo: Presencia en medios de comunicación

Crecimiento sostenido Demanda constante

Rendimiento de un e-commerce ¿?/¿?/2011

Page 18: Seminario e commerce-nexica

Patrones de Demanda

Por tipo de peticiones

-18-

Contenido estático

Contenido dinámico

Rendimiento de un e-commerce ¿?/¿?/2011

Page 19: Seminario e commerce-nexica

Perfil de Usuario

Home

Categoría

Producto

Home

Búsqueda

Home

Los perfiles de usuario se utilizan en diferentes fases del ciclo de vida de una Web.

-19-

Carrito

Compra

Confirmación

Pagina Resultados

Producto

diferentes fases del ciclo de vida de una Web.Pueden determinarse “a priori” durante el diseño de la Web.

Pueden confirmarse o rectificarse “a posteriori” con Web Analytics.

Es importante conocer las proporciones.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 20: Seminario e commerce-nexica

Herramientas y técnicas para

la mejora del rendimiento

-20-

la mejora del rendimiento

Rendimiento de un e-commerce ¿?/¿?/2011

Page 21: Seminario e commerce-nexica

Pruebas de Stress

Diseño de las Pruebas

• Diseño de los perfiles de usuario

•Definición del patrón de carga

Preparación del Entorno

• Monitorización de las métricas clave de rendimiento (KPI’s)

•Trabajos de

Ejecución de las Pruebas

• Generación de carga y control de la prueba

Presentación de Resultados

• Recogida y análisis de los resultados

•Elaboración de conclusiones y recomendaciones

Prueba Base (Baseline)Prueba Base (Baseline)

-21-

•Trabajos de preparación sobre entornos de producción

recomendaciones

Pruebas diferenciales

(Delta)

Rendimiento de un e-commerce ¿?/¿?/2011

Page 22: Seminario e commerce-nexica

Pruebas de Stress

Lo que un informe de pruebas de stress SÍ le dirá

• En qué medida y con qué patrón aumenta el consumo de recursos de su plataforma (servidores, redes, almacenamiento) en función de la cantidad de peticiones (usuarios) que recibe su aplicación de forma concurrente.

• Cuales son las métricas que saturan antes y que actúan como cuello de botella (memoria RAM, capacidad de CPU, velocidad de lectura o escritura a disco, ancho de banda, número de procesos, número de conexiones, etc.)

• Cómo afecta (en términos de rendimiento) el incremento de carga a la experiencia de los usuarios.• Cual es la capacidad máxima (número de usuarios concurrentes) que soporta la aplicación antes

de dejar de dar un nivel servicio aceptable para el negocio.

-22-

de dejar de dar un nivel servicio aceptable para el negocio.

Lo que un informe de pruebas de stress NO le dirá

• Qué segmentos del código fuente debe mejorar para optimizar el rendimiento de las aplicaciones.• Aunque es posible distinguir qué consultas a una base de datos o qué accesos a disco son los que

provocan mayor carga, el informe no le dirá como reformular esas consultas o hacer esos accesos más rápidos.

• Cual es el motivo de que una aplicación consuma recursos de un modo lineal, exponencial, etc. (el informe solo constata el hecho en sí, no busca la explicación en el código)

Rendimiento de un e-commerce ¿?/¿?/2011

Page 23: Seminario e commerce-nexica

Caching

HTML, Imágenes,

Objetos

Ej: Nexica ZXTM

Código precompilado

-23-

Código precompilado

Ej: APC

SQL Query’s

Ej: Memcached

Rendimiento de un e-commerce ¿?/¿?/2011

Page 24: Seminario e commerce-nexica

Profiling

• Auditamos el rendimiento del código en funcionamiento.

• Tenemos una visión de toda la transacción (incluyendo consultas a base de datos)

• Es costoso, pero muy efectivo para mejorar el rendimiento del código.

• Introduce una mínima sobrecarga en los

-24-

• Introduce una mínima sobrecarga en los servidores (<2%)

Ejemplos: Antorcha, xDebug, Net Profiler.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 25: Seminario e commerce-nexica

Balanceo

• No es en sí un acelerador, pero hace posibles arquitecturas horizontales

• Permite repartir la carga en función de diferentes políticas (por ejemplo, en función del tiempo de respuesta de cada nodo)

• Los servicios más avanzados permiten funciones adicionales:

• Asignar un pool de recursos para un perfil determinado de usuario (por ejemplo, los usuarios registrados que hayan realizado compras en el pasado o cualquiera que se encuentre en los pasos finales del funnel de conversión)

• Monitorizar los tiempos de respuestas de cada nodo y sacar de producción

-25-

durante cierto tiempo aquellos que no respondan dentro de un tiempo razonable (liberar carga)

• Está situado en una posición estratégica dentro de la arquitectura para ofrecer servicios de aceleración: Aceleración SSL, Caching, Firewall de aplicaciones, etc.

S1 S2 S3 S..

Balanceador

Rendimiento de un e-commerce ¿?/¿?/2011

Page 26: Seminario e commerce-nexica

Red de Contenidos

• Servicio ofrecido por grandes empresas que disponen de cientos de servidores distribuidos geográficamente

• Crean redes de contenido que se sincronizan con los servidores del cliente y actúan como una caché intermedia desde servidores más próximos al usuario final.

• Son una medida muy efectiva para webs con grandes volúmenes de tráfico y alcance global. Sus beneficios crecen a medida que lo hace el alcance geográfico del cliente (y viceversa)

• Existen varios niveles de integración (de menor a mayor complejidad)

-26-

• Servir el contenido estático puro (imágenes, textos, archivos flv, etc.)

• Servir contenido mixto (páginas estáticas con secciones dinámicas marcadas en el código)

• Servir contenido dinámico no personalizado.

• Las diferencias de precio son muy grandes. Akamai domina el mercado de “gama alta”, aunque hay otros actores con una calidad similar y mejores precios.

• Es importante monitorizar los resultados.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 27: Seminario e commerce-nexica

Monitorización de Aplicaciones

La monitorización de aplicaciones web ejecuta los m ismos pasos que un hipotético usuario para obtener una visión de la disponibilida d y el rendimiento desde su punto de vista.

-27- Rendimiento de un e-commerce ¿?/¿?/2011

Page 28: Seminario e commerce-nexica

Impacto del Rendimiento en E-commerce

-28-

Servicios NEXICA

Rendimiento de un e-commerce ¿?/¿?/2011

Page 29: Seminario e commerce-nexica

Servicios NEXICA

Pruebas de Stress

• Diseño y ejecución de Pruebas

Base y Delta

• Optimización de configuraciones

• Ingenieros especializados

Monitorización de Aplicaciones

Firewall de Aplicaciones

• Prevención de ataques

• Filtrado de solicitudes maliciosas

• Mejor uso de los recursos

disponibles

Profiling de Aplicaciones

-29-

• Simulación de transacciones de

usuario desde más de 50 países

• Atención de alarmas 24x7

• Informes semanales / mensuales

Balanceo

• Balanceo inteligente.

Escalabilidad horizontal.

• Caching de contenidos

• Aceleración SSL

Content Delivery Networks

• Partners CDNetworks

• Asesoramiento, instalación y

monitorización

• Actualmente disponible para

plataformas J2EE y PHP

• Instalación, configuración y

análisis.

Rendimiento de un e-commerce ¿?/¿?/2011

Page 30: Seminario e commerce-nexica

Gracias por tu atenció[email protected]

-30-

¿Alguna pregunta?

Rendimiento de un e-commerce ¿?/¿?/2011

Page 31: Seminario e commerce-nexica

-31-