¿Cómo debe preparar su sitio web para la temporada pico?

La mayoría de los comerciantes minoristas están familiarizados con la explosión de actividad durante el periodo vacacional. En las tiendas tradicionales, es la época del año en que se contrata más personal para garantizar que haya empleados sonrientes dispuestos a ayudar a clientes entusiasmados y suficientes empleados en caja para agilizar el proceso de pago. Para un minorista de comercio electrónico, la preparación para atender picos de tráfico no está tan relacionada con la contratación de más personal sino con la adaptación de los sistemas y procesos que atraen, mantienen y permiten a los clientes realizar operaciones en un sitio de forma simple.

Las demoras en la carga de las páginas no solo frustran a los usuarios sino que, además, los algoritmos de búsqueda de Google ahora penalizan a los sitios con carga lenta. Tomemos la temporada vacacional: las ventas cada vez empiezan antes e incluso algunos comerciantes comienzan con las ofertas en octubre y principios de noviembre. Según una encuesta realizada a compradores por Shop.org en el año 2013, más de 40% dijo que comenzaban a hacer sus compras navideñas en octubre o antes. Sumadas al crecimiento general de las ventas en línea, estas estadísticas aumentan aún más la necesidad de desarrollar una estrategia de comercio electrónico bien planificada, tanto desde el punto de vista del cliente como de su infraestructura subyacente.

Prepararse para un periodo pico, ya sea la época navideña, el turismo de verano o una campaña de marketing de gran alcance, implica evaluar y optimizar su infraestructura y códigos para lograr mejores resultados. La pieza fundamental de la planificación del tráfico pico es realizar una prueba de carga rigurosa de su sistema con anticipación y corregir los puntos de ruptura y los cuellos de botella.

1. Pruebe su sitio antes de un aumento repentino de tráfico

La prueba de carga le ofrece una visión de la forma en que se comportará su sitio durante un pico de tráfico. A continuación se presentan los pasos de alto nivel que debe seguir para realizar la prueba de carga.

  1. Determine los objetivos de la prueba: La prueba inicial debe ser una prueba integral. Las pruebas de seguimiento solo pueden abarcar la prueba posterior a la optimización de páginas o procesos específicos. Asimismo, tenga en cuenta que los diferentes tipos de usuario utilizan su sitio de diversas formas. Un comprador de computadoras puede dividirse en segmentos como consumidor, empresas y gobierno. En teoría, el usuario consumidor toma una ruta diferente al usuario del gobierno y, por lo tanto, genera una carga diferente en el sistema, que requiere optimización. Al definir de forma precisa los objetivos de la prueba y los tipos de usuario, se obtienen resultados más definidos para guiar el proceso de optimización. Utilice sus objetivos para crear una lista de preguntas que debe responder su prueba, por ejemplo:• ¿Cuántas solicitudes a la vez puede manejar mi sistema con una carga máxima?
    • ¿Son aceptables los tiempos de respuesta para todas las rutas de prueba?
    • ¿Qué puntos en la cadena consumen más recursos de hardware?
    • ¿Hay fallas obvias ocasionadas por grandes grupos de datos, múltiples usuarios a la vez, cantidad de productos en el sitio, funcionalidad del carrito de compras u otros factores?
    • ¿Hay alguna oportunidad de optimización obvia al alcance de la mano? Ejemplos: consultas innecesarias a la base de datos, rutas de códigos de uso frecuente que generan un resultado consistente o consultas a la base de datos de frecuente repetición que pueden almacenarse en la memoria caché.
  2. Comience con un punto de referencia: Repase los registros y los análisis para obtener información acerca de su desempeño durante periodos pico anteriores y defina cómo es su carga de trabajo típica en periodos de alto tráfico. Utilice herramientas como apache bench o autobench para simular la visita de múltiples usuarios a la vez y obtener un punto de referencia de la cantidad de solicitudes por segundo que puede atender. Preste especial atención a las páginas con alto tráfico como la página de inicio y de llegada, donde las tareas de optimización producirán los mayores beneficios. Para comparar su desempeño y fijar puntos de referencia alineados con otros comerciantes minoristas, consulte el Índice de Compuware sobre desempeño de los sitios web y sitios web móviles de comercio minorista.
  3. Defina los métodos de obtención de datos: La obtención de datos organizada es fundamental para comprender los resultados y aprender de ellos. LoadRunner es una herramienta de software que ofrece una sofisticada capacidad de formateado, flexibilidad y análisis. Microsoft Visual Studio tiene un script SQL para crear un repositorio de base de datos para almacenar resultados. Para evaluar una posible herramienta de obtención de datos de prueba, tenga en cuenta su capacidad para:• Documentar de forma integral las condiciones de la prueba
    • Documentar los resultados de forma precisa
    • Ofrecer un análisis sencillo de los resultados
    • Archivar los datos de la prueba para comparaciones futuras
    Utilice un conjunto de herramientas de monitoreo para obtener datos precisos acerca del desempeño real de la prueba en gráficos visuales simples:
    • Cacti para capturar métricas
    • MONyog para monitorear la base de datos
    • statsd para pasar el registro de estadísticas a código a fin de monitorear el desempeño de los códigos en tiempo real
  4. Cree scripts: Los scripts generan datos de prueba y simulan la interacción con los usuarios. Los scripts inundan el sitio con solicitudes para que usted pueda identificar los embotellamientos que se presentan durante los periodos de alto tráfico. Cada ruta de prueba necesita un script, con cookies y todo. JMeter es un software de prueba de carga de código abierto diseñado para realizar una prueba de carga del comportamiento funcional y medir el desempeño. Es fácil colocar los scripts de JMeter en plantillas y copiarlos y pegarlos para crear nuevos. Entre los scripts más frecuentes se incluyen:• Crear productos de manera aleatoria
    • Crear pedidos de manera aleatoria (completar un carrito y, luego, pagar)
    • Crear cuentas de clientes de manera aleatoria (se puede combinar este script con otro para crear un pedido)
    • Realizar cambios en la interfaz del administrador (crear categorías, realizar cambios de configuración)
    Estos scripts se ejecutarán de forma individual y simultánea para determinar los límites de desempeño.
  5. Defina el ambiente de prueba: En la práctica, el ambiente de la prueba de carga contiene:• Herramientas de software para enviar gran cantidad de pedidos
    Scripts para simular la actividad de los usuarios en el sitio
    Scripts para generar cantidades masivas de datos en el sistema
    • Hardware para ejecutar las herramientas
    • Hojas de cálculo para realizar un seguimiento y analizar resultadosLas pruebas pueden prolongarse por varios días y utilizar recursos valiosos. La prueba de carga es una forma común de evitar utilizar recursos valiosos para realizar pruebas o degradar otras aplicaciones durante las pruebas. Al utilizar la nube para realizar pruebas, puede utilizar todos los recursos de su CPU necesarios para conducir las pruebas durante el tiempo requerido y luego desmantelar esos recursos una vez finalizadas.
  6. Ejecute la prueba: como las pruebas pueden llevar mucho tiempo, le recomendamos que obtenga la mayor cantidad de información de cada una para evitar su repetición. Para ello, cree una hoja de cálculo con la siguiente información:• Nombre de la persona que ejecuta la prueba
    • Fecha, hora y duración de la misma
    • Hipótesis bien definida
    • Declaración de lo que se ha modificado
    • Conjunto de métricas en seguimiento durante la prueba
    • Captura de los resultados de la métrica posterior a la prueba, que puede visualizarse de mejor forma con un gráfico de las métricas a lo largo del tiempoAl guardar esta información en hojas de cálculo, puede obtener los resultados probables e identificar las pruebas más eficaces.Al finalizar la prueba, debe tener una serie de datos que contesten las preguntas formuladas durante la etapa inicial de definición de objetivos. Las preguntas servirán de guía para sus próximos pasos en el proceso de optimización. Luego de la optimización, es fundamental realizar una nueva prueba para atender las anomalías que pueda generar la optimización, ya que la solución de un problema a veces puede crear otro problema que no deseará descubrir en medio de un periodo pico de actividad.

2. Soluciones para problemas comunes que revela la prueba

NECESITA UN BALANCEO DE CARGA

Si el tráfico del sitio revela un aumento en la cantidad de conexiones rechazadas durante la prueba de carga, es hora de volver a evaluar su solución de balanceo de carga. Las conexiones rechazadas son el primer indicador de que su capacidad de servicio es demasiado baja para la cantidad de tráfico que recibe su sitio. Es probable que el próximo indicador sean llamadas o correos electrónicos de los usuarios donde manifiesten que no pueden acceder u operar en su sitio.

Para determinar la cantidad de balanceadores de carga que debe desplegar debe tener en cuenta su tráfico y objetivos de desempeño; no existe una fórmula mágica. Los datos obtenidos de la prueba de carga le ayudarán a definir la cantidad y ubicación de los balanceadores de carga. Una vez instalados, realice una nueva prueba para confirmar que los balanceadores de carga pueden manejar la carga esperada.

NECESITA UNA MEJOR COMPRESIÓN
Implementar una compresión del lado del servidor puede reducir el tamaño de sus páginas de almacenamiento al disminuir el tiempo de devolución de datos desde el servidor y brindar una rápida disponibilidad del proceso del servidor web. La mayoría de los exploradores y servidores web tienen la capacidad de comprimir datos para enviarlos y descomprimirlos en el destino. Esto ayuda a reducir los requerimientos de ancho de banda pero puede aumentar la carga de la CPU.

Con archivos más pequeños se logra una mayor velocidad de carga de páginas. Las dos opciones más comunes en este caso consisten en minimizar sus estilos CSS y funciones JavaScript, eliminar los espacios en blanco y brindar una mayor legibilidad (por medio de herramientas como el YUI Compressor), así como reducir el tamaño de sus imágenes eliminando datos los innecesarios con una herramienta como smush.it.

NECESITA UNA RED DE ENTREGA DE CONTENIDOS
Una red de entrega de contenidos (CDN, por sus siglas en inglés) puede agilizar la velocidad de carga de páginas lentas. Una CDN entrega al usuario el contenido por primera vez, guardándose una copia del mismo en servidores perimetrales ubicados geográficamente cerca de ese usuario. Las solicitudes subsiguientes utilizan la copia almacenada, lo que acelera el tiempo de carga. Hospedar las páginas de llegada u otras páginas estáticas de alto tráfico en la CDN ayuda a mantener una presencia en la web persistente y consistente. A medida que su sitio reciba más visitas, su página de llegada se almacenará en caché en todo el mundo, lo que mejorará los tiempos de carga.

Publicar contenidos estáticos en una CDN en lugar de en un servidor web es una tarea sencilla gracias a servicios como Rackspace Cloud Files, desarrollados con la tecnología para CDN de Akamai. W3 Total Cache y PressFlow también cuentan con tecnología para CDN incorporada.

NECESITA UN CÓDIGO MÁS EFICAZ
Existen muchos servicios asociados con el comercio electrónico y los medios sociales que pueden suministrarle una código para todo el sitio o para ciertas páginas. Estos fragmentos de código, usados para compartir información en medios sociales, tareas analíticas, widgets y similares son códigos HTML/JavaScript. Muchos utilizan solicitudes externas a un tercero, que se demoran y pueden no quedar almacenadas en su extremo. Siempre que sea posible, elija soluciones para elementos de página comunes que eviten códigos de terceros. Otra solución habitual para códigos JavaScript complejos es cargar el código en un documento listo (cuando el DOM está totalmente cargado) en lugar de incluirlo directamente en su lenguaje de marcado.

En el caso de los sitios que consultan grandes bases de datos puede resultar útil realizar una optimización de la base de datos, como por ejemplo cambios en los esquemas e indexado de las columnas más consultadas. Evite utilizar marcos y bibliotecas recargados.

NECESITA ALMACENAR LA PÁGINA COMPLETA EN LA MEMORIA CACHÉ
El almacenamiento en la memoria caché es una forma fácil de acelerar su aplicación o sitio web que puede ayudarlo a disminuir su tasa de rebote y evitar la pérdida potencial de ingresos. Defina los datos de acceso frecuente y almacénelos en la memoria caché para acelerar la velocidad de acceso. Ya sea que su aplicación genere contenidos estáticos para páginas web o almacene sesiones en memoria caché, debe decidir cómo almacenar estos datos. Puede almacenarlos en su sistema de archivos local o utilizar caché en sistemas con memoria distribuida como clústeres de memcached.

NECESITA FLEXIBILIDAD AUTOMÁTICA
A pesar de haber realizado una planificación exhaustiva, es posible que su sitio experimente picos de tráfico fuera de la capacidad pico contemplada. Por ejemplo, un sitio suele operarse en dos servidores y a veces se produce un pico de tráfico que requiere un tercer servidor. Si este pico es predecible, su equipo puede adelantarse y habilitar el servidor adicional para luego desmantelarlo cuando ya no sea necesario.

Si no puede anticipar este aumento de tráfico, puede verse obligado a recurrir a un tercer servidor para cubrir ese pico de actividad cuando suceda, si es que se produce. Con una herramienta de flexibilidad automática, como RightScale, el socio de “Rackspace Cloud Tools Marketplace”, ya no depende de ese tercer servidor. Al definir diferentes variables como el tráfico y el desempeño, entre otras, solo se habilita el tercer servidor cuando es necesario y se desmantela cuando desaparecen los parámetros que lo habilitaron. Si desea obtener más información acerca de las herramientas de flexibilidad automática, visite Rackspace Cloud Tools Marketplace.

NECESITA UNA NUBE HÍBRIDA
Muchas personas aún creen que no pueden trasladar todas sus operaciones a la nube, que no pueden usar la nube en absoluto. No es así. Una configuración de nube híbrida le permite comprar la base y alquilar en hora pico. Esto significa que puede establecer ahora los elementos que necesita para operar su sitio y contar con la posibilidad de pasar a la nube cuando se produzcan picos de tráfico o para expandir la funcionalidad sin crear una nueva arquitectura o cambiar plataformas.

La nube híbrida permite a una tienda de comercio electrónico aprovechar las eficiencias de la nube para almacenamiento en caché, almacenamiento de imagen y video u otros elementos que no son críticos pero que requieren gran cantidad de recursos y, a su vez, mantener otros elementos como el procesamiento de pagos y otras partes del sitio más sensibles a las cuestiones de seguridad en una nube privada o en equipos internos para asegurar el cumplimiento de las normas PCI y otras políticas de seguridad.

3. Planifique el éxito durante periodos pico con Rackspace

Cuando la marca de estilo de vida Alex & Ani emitió un comercial para el Super Bowl de 2014, la empresa sabía que el desempeño del sitio era clave. “Cada segundo cuesta dinero. Por cada segundo que se agrega al proceso de carga, se reduce tu tasa de conversión en 7%, y esto suma”, dijo Ryan Bonifacio, vicepresidente de Estrategias digitales de Alex & Ani. El comercial atrajo a 28 mil personas al sitio web de Alex & Ani y cualquier demora en la carga hubiese sido desastrosa. Bonifacio recurrió a Rackspace porque estaba buscando un socio de hospedaje web que contara con suficiente experiencia en desempeño. “Maximizar el tiempo de funcionamiento era uno de nuestros principales requerimientos a la hora de evaluar a los proveedores de hospedaje web. Rackspace obtuvo el mayor puntaje”, dijo.

El ambiente de hospedaje web para comercio electrónico de Rackspace está diseñado para ofrecer a los clientes todos los recursos necesarios que pueden flexibilizarse con facilidad para manejar desde pequeños hasta grandes volúmenes de tráfico. Podemos brindarle la tecnología que necesita para desarrollar, probar y flexibilizar su sitio para administrar y optimizar un pico de tráfico en lugar de perder clientes.

LEAVE A REPLY

Please enter your comment!
Please enter your name here