• Vendas: 1-800-961-2888
  • Suporte: 1-800-961-4454

Guia preparatório para seu comércio eletrônico se preparar para o próximo período de pico


Introdução

A maioria dos comerciantes conhece bem a temporada de festas. Em lojas físicas, é a época do ano em que há mais contratações para garantir que rostos sorridentes na loja ajudem clientes ansiosos e para que haja caixas suficientes para fechar pedidos rapidamente e sem problemas. Para os varejistas de comércio eletrônico, preparar-se para o pico de tráfego não é contratar mais pessoas, e sim ajustar sistemas e processos que trazem, mantêm e permitem que clientes façam transações com fluidez em um site.

Atrasos no carregamento de páginas não apenas frustram os usuários: agora os algoritmos de pesquisa do Google também penalizam os sites por carregamentos lentos. Shop.org, a divisão digital da National Retail Federation, espera um crescimento entre 9% e 12% das vendas on-line em 2013, aumentando ainda mais a necessidade de uma estratégia de comércio eletrônico bem planejada, tanto no lado voltado para o cliente quanto na infraestrutura subjacente do varejista. Para aumentar a urgência, a temporada de compras de final de ano de 2013 é quase uma semana mais curta do que em 2012. Os varejistas terão apenas 26 dia entre Ação de Graças e o Natal, em comparação com os 32 dias de 2012, o que torna a realização de vendas durante a temporada mais curta ainda mais urgente1.

A preparação para um período de pico – sejam férias, turismo de verão ou campanha de marketing de longo alcance – envolve a avaliação da infraestrutura e de códigos para otimizar a obtenção de resultados melhores. O fundamental do planejamento de pico de tráfego é testar rigorosamente a capacidade de carregamento de seu sistema previamente para identificar e corrigir pontos de interrupção e congestionamentos.

1. Teste seu site antes de aumentos repentinos de tráfego

Testes de carregamento dão uma amostra de como seu site irá funcionar no momento do pico de tráfego. Abaixo, as etapas de alto nível envolvidas em testes de carregamento.

  1. Estabeleça os objetivos do teste: o teste inicial deve ser um teste completo de ponta a ponta. Os testes seguintes só podem incidir sobre testes de pós-otimização de páginas ou processos específicos. Além disso, tenha em mente que diferentes tipos de usuários utilizam o seu site de forma diferente. O tipo "comprador de computador" pode ser dividido em segmentos como consumidores, empresas e governo. O usuário consumidor realiza, teoricamente, um caminho diferente do que um usuário do governo; portanto, é uma carga diferente no sistema que precisa de otimização. Ao definir rigorosamente os objetivos do teste e tipos de usuário, você obtém resultados mais definidos para orientar a otimização. Use seus objetivos para criar uma lista de perguntas que seu teste precisa responder, por exemplo:

    • Com quantas solicitações simultâneas meu sistema pode lidar em carga máxima?
    • Os tempos de resposta para todos os caminhos de teste são aceitáveis?
    • Quais pontos da cadeia estão consumindo mais recursos de hardware?
    • Há falhas óbvias causadas por grandes conjuntos de dados, múltiplos usuários simultâneos, quantidade de produtos no site, funcionalidade do carrinho de compras ou outros fatores?
    • Existe algum fator acessível óbvio para otimizar? Por exemplo: consultas de dados desnecessárias, caminhos de código usados ​​com frequência que produzem resultado consistente ou consultas a banco de dados repetidas constantemente que podem ser armazenadas em cache.

  2. Inicie com um teste de referência: revise registros e análises para ver como foi seu desempenho durante os períodos de pico anteriores e determine como é um carregamento ativo típico. Use ferramentas como apache bench ou autobench para simular vários usuários simultâneos para um valor de referência de quantos pedidos por segundo você é capaz de atender. Preste atenção especial a páginas com tráfego intenso, como a página inicial e páginas de destino, em que os esforços de otimização têm maior retorno. Para comparar o seu desempenho e estabelecer padrões de referência alinhados com outros varejistas, dê uma olhada em índice de desempenho de sites de varejo da web e para dispositivos móveis da Compuware.

  3. Determine os métodos de coleta de dados: a coleta de dados organizada é essencial para compreender os resultados e aprender com eles. LoadRunner é uma ferramenta de software que fornece formatação, flexibilidade e análise sofisticadas. Microsoft Visual Studio tem um script SQL para a criação de um repositório de dados para obter resultados. Avalie um instrumento de coleta de dados de teste em potencial com base na capacidade desse instrumento para:

    • Documentar completamente as condições de teste
    • Documentar com precisão os resultados
    • Oferecer uma análise simplificada dos resultados
    • Arquivar dados de teste para futuras comparações

    Usar um conjunto de ferramentas de monitoramento permite obter dados confiáveis sobre o desempenho real do teste em gráficos visuais simples:

    Cacti para coletar métricas
    MONyog para monitorar bancos de dados
    statsd para colocar o registro de estatísticas em código e monitorar o desempenho de código em tempo real.

  4. Crie scripts: scripts geram dados de teste e simulam a interação do usuário. Os scripts inundam o site com pedidos para que você possa identificar congestionamentos que ocorrem apenas durante os períodos de tráfego pesado. Será feito um script para cada caminho de teste, cookies e todo o restante. JMeter é um software de código aberto para teste de carregamento projetado para carregar comportamentos funcionais de teste e medir o desempenho. Scripts JMeter são fáceis de fazer em modelos, e podem ser copiados e colados para criar novos. Scripts comuns incluem:

    • Crie produtos aleatoriamente
    • Crie pedidos aleatoriamente (encha o carrinho e feche o pedido)
    • Crie aleatoriamente contas de clientes (é possível combinar isso com a criação de um script de pedido)
    • Faça mudanças na interface de administração (criação de categorias, alterações de configuração).

    Esses scripts serão executados individual e simultaneamente para encontrar limites de desempenho.

  5. Estabeleça o ambiente de teste: na prática, no ambiente de teste de carga contém:

    • Ferramentas de software para o envio de várias solicitações
    • Scripts para simular a atividade do usuário no site
    • Scripts para gerar grandes quantidades de dados no sistema
    • Hardware para administrar ferramentas
    • Planilhas para acompanhar e analisar resultados

    O teste de carga é um uso comum de recursos de nuvem a fim de evitar o investimento em recursos adicionais para executar testes ou a deterioração de outras aplicações durante testes que podem ser executados por vários dias de cada vez. Usar a nuvem para testes significa que você pode executar os recursos de CPU conforme necessário em testes durante o tempo que precisar e, em seguida, desfazer esses recursos quando os testes forem concluídos.

  6. Execute os testes: como a execução de testes pode ser muito demorada, obtenha o máximo de informações possíveis de cada teste para evitar repetição. Para fazer isso, crie uma planilha com as seguintes informações:

    • Nome da pessoa que executa o teste
    • Data, horário e duração da execução
    • Uma hipótese claramente definida
    • Uma declaração de o que foi alterado
    • Um conjunto de métricas acompanhadas durante o teste
    • A coleta dos resultados das métricas após a execução, que são mais bem visualizadas com um gráfico das métricas ao longo do tempo.

    Ao salvar essas informações em planilhas, você alcança resultados demonstráveis ​​e pode identificar os testes mais eficazes.

Ao final do teste, você deve ter um conjunto de dados que responde as perguntas estabelecidas quando os objetivos foram definidos no início. Em seguida, as respostas irão orientar seus próximos passos para otimização. Depois de otimizar, é fundamental testar novamente a fim de esclarecer quaisquer anomalias que a otimização possa criar, pois a resolução de um problema às vezes pode criar outro que você não quer descobrir quando estiver em meio a um pico.

2. Soluções para problemas comuns descobertos pelo teste

NECESSIDADE DE LOAD BALANCING
Se os relatórios de tráfego do site revelam aumento no número de conexões recusadas durante o teste de carga, é hora de reavaliar a sua solução de load balancing. Conexões recusadas são o primeiro sinal de que a sua capacidade de atendimento é muito pequena para a quantidade de tráfego que o site recebe. O próximo sinal provavelmente será chamadas ou mensagens de visitantes reclamando que não podem acessar ou realizar transações em seu site.

O número de load balancers que você implementa é determinado por seu tráfego e metas de desempenho. Não há fórmula mágica. Usar os dados do teste de carga irá ajudá-lo a determinar o número e a localização dos load balancers. Uma vez estabelecido, refaça o teste para confirmar que o load balancer pode suportar a carga esperada.

NECESSIDADE DE MELHOR COMPRESSÃO
Implementar a compressão de lado do servidor pode reduzir o tamanho de suas páginas de lojas, diminuindo o tempo para retornar dados do servidor e tornando o processo do servidor web disponível mais rapidamente. A maioria dos navegadores e servidores web modernos é capaz de comprimir os dados para enviar e descomprimir no destino. Isso ajuda a diminuir a exigência de banda larga, mas pode aumentar as cargas de CPU.

Arquivos menores resultam em tempos de carregamento de página mais rápidos. As duas opções mais comuns neste caso são minimizar CSS e JavaScript removendo o espaço em branco e aumentando a legibilidade (com o uso de ferramentas como YUI Compressor) e reduzir o tamanho de suas imagens por meio da remoção de dados desnecessários com uma ferramenta como smush.it.

NECESSIDADE DE UMA REDE DE FORNECIMENTO DE CONTEÚDO (CDN)
Usar uma CDN pode ajudar a acelerar o carregamento lento de páginas. Em uma CDN, a primeira vez que o conteúdo é servido a um usuário, uma cópia do conteúdo é armazenada em servidores de borda geograficamente mais próximos ao usuário. As solicitações posteriores usam a cópia armazenada, resultando em tempo de carregamento mais rápido. A hospedagem de páginas de destino ou outras páginas estáticas de tráfego intenso na CDN ajuda a manter uma presença persistente e consistente na web. Na medida em que mais pessoas visitam seu site, sua página de destino será armazenada em todo o mundo e, como resultado, os tempos de carregamento irão melhorar.

A publicação de conteúdo estático para uma rede de fornecimento de conteúdo (CDN) em vez de servidor web pode ser facilmente obtida com serviços como Rackspace Cloud Files, criado com tecnologida de CDN da Akamai. W3 Total Cache e PressFlow também têm tecnologia de CDN integrada.

NECESSIDADE DE CÓDIGOS MAIS EFICIENTES
Há muitos serviços associados com comércio eletrônico e serviços sociais que podem fornecer códigos para você colocar em todo o site ou em páginas específicas. Esses trechos de código, usados para compartilhamento social, análise, widgets, entre outros, são HTML/JavaScript. Muitos usam solicitações externas para o terceiro, que atrasam e não podem ser armazenados em cache em sua extremidade. Sempre que possível, opte por soluções para elementos de página comuns que evitem códigos de terceiros. Outra solução comum para o problemático JavaScript é carregar o código em documento pronto (quando o DOM estiver totalmente carregado), em vez de incluí-lo em sua marcação diretamente.

Sites com bancos de dados pesados podem se beneficiar de otimizações de banco de dados, como alterações de esquema e indexação de colunas consultadas com frequência. Evite o uso de estruturas e bibliotecas infladas.

NECESSIDADE DE CACHE PARA A PÁGINA INTEIRA
Caching é uma maneira fácil de acelerar sua aplicação ou site que pode ajudar com sua taxa de rejeição, poupando-o de potencial perda de receita. Determine os dados que você acessa frequentemente e armazene-os na memória para ter acesso de alta velocidade repetido a esses dados. Se sua aplicação estiver gerando conteúdo estático para páginas web ou armazenando sessões em caches, você tem de decidir como armazenar os caches. Você pode armazenar os caches em seu sistema de arquivos local ou utilizar caches de memória distribuída, como clusters memcached.

NECESSIDADE DE AUTOEXPANSÃO
Apesar dos esforços de planejamento, seu site ainda é capaz de passar por picos fora da capacidade máxima esperada. Por exemplo, um site pode funcionar normalmente em dois servidores e, ocasionalmente, o aumento repentino de tráfego necessitar de um terceiro servidor. Se esse aumento for previsível, sua equipe pode sair na frente para configurar o servidor extra e encerrá-lo quando não for mais necessário.

Se esse pico for imprevisível, você pode ser forçado a manter um terceiro servidor para cobrir o aumento quando, ou se, isso acontecer. Com uma ferramenta de autoexpansão, como a parceira do catálogo de soluções para nuvem da Rackspace, RightScale, não é necessário manter o terceiro servidor. Mediante a configuração de tráfego, desempenho ou outras variáveis​​, o terceiro servidor é iniciado apenas quando necessário e automaticamente encerrado quando os parâmetros de lançamento diminuírem. Veja mais ferramentas de autoexpansão no Catálogo de soluções para nuvem da Rackspace.

NECESSIDADE DE UMA NUVEM HÍBRIDA
Muitos ainda pensam que, se não podem usar a nuvem completa, não podem usar nada da nuvem. Não é assim. Uma configuração de nuvem híbrida permite que você compre a base e alugue o pico. Agora você é capaz de colocar os elementos no lugar que precisa para administrar seu site com a capacidade de transferir para a nuvem em caso de aumento repentino de tráfego ou expandir a funcionalidade sem refazer a arquitetura ou alterar plataformas.

Com a nuvem híbrida, uma loja de comércio eletrônico pode ver a eficiência de nuvem para armazenamento em cache, imagem e vídeo armazenado, ou outros elementos que consomem muitos recursos e não são fundamentais, mantendo outros elementos – como processamento de pagamentos e outros elementos importantes para a segurança do site – na nuvem privada ou em dispositivos locais, a fim de atender a conformidade de PCI e outros requisitos de segurança.

3. Faça um plano para ter sucesso no pico com a Rackspace

Na temporada de festas de final de ano de 2012, a Karmaloop, cliente da Rackspace viu um aumento de vendas de 60% da Black Friday até a Cyber Monday e um crescimento geral de vendas de 40%. Os testes e ajustes do site com antecedência foram fundamentais para a capacidade de permanecer em funcionamento durante aquela época. "No nosso caso, fizemos teste até um nível que percebemos cinco vezes o volume que veríamos durante o período de aumento do pico da Black Friday até a Cyber ​​Monday", diz Gary Rush, diretor de tecnologia da Karmaloop. "Depois de nos convencermos de que éramos capazes de lidar com a carga, ficamos mais confiantes."

O ambiente de hospedagem para comércio eletrônico da Rackspace foi projetado para dar suporte a clientes com recursos que facilmente passam de pequenos a grandes volumes de tráfego. Podemos ajudar você com a tecnologia necessária para desenvolver, testar e programar seu site para gerenciar e otimizar os picos em vez de perder clientes.

Referências:

1https://www.internetretailer.com/2013/02/04/unwrapping-holidays







© 2011-2013 Rackspace US, Inc.

Salvo indicação em contrário, o conteúdo deste site está licenciado sob uma licença não adaptada de Creative Commons Attribution-NonCommercial-NoDerivs 3.0


Ver detalhes da licença e o AVISO LEGAL