Como se preparar para um grande aumento no tráfego para o lançamento de um site hospedado no Heroku?

1

Estou me preparando para lançar um site em que estou trabalhando e conversando com alguns blogueiros. Está planejado para ir ao vivo na próxima semana e a imprensa vai escrever sobre isso.

Mas a questão é, esta é a minha primeira vez lançando algo que eu mesmo codifiquei. Eu fundei uma startup antes, mas meu papel não estava codificando então. Eu me ensinei a codificar para construir isso. Eu conheço o padrão de tráfego típico para ser coberto em grandes blogs, é que eles trazem muitas pessoas e, em seguida, o tráfego morre no dia seguinte.

Eu tenho medo desse aumento no tráfego, já que esta é minha primeira vez e não sei o que esperar. Eu não quero ser um desses sites que cobrem e desce. Até agora eu tenho testado isso com um pequeno número de pessoas e isso não causou nenhum problema. Eu

As especificações são as seguintes:

A. Using Heroku free hosting (1 dyno)

B. The service is a web app, built with Ruby on Rails.

C. The UI consists of:

  1. Main page: a feed where you follow people and tags. Didn't do much query optimization.
  2. Content page: entirely utilizes external APIs to serve content. No content is served from my server except for small sized metadata.

Alguém pode dar conselhos sobre algo assim? Quantos dinos devo estar correndo? Como sei quando preciso expandir? O que devo esperar e como posso me preparar? Obrigada!

    
por Vlad 01.06.2012 / 07:45

2 respostas

3

O mais importante aqui será observar seus logs ( heroku logs -t ) e ter o New Relic instalado em seu aplicativo, já que não há escalonamento automático fornecido pelo Heroku.

Nos seus registros, a seguinte linha será a mais importante

2012-06-01T07:48:40+00:00 heroku[router]: GET yourdomain.com/ dyno=web.1 queue=0 wait=0ms service=162ms status=200 bytes=23441

especificamente o valor do atributo da fila. Se este número começar a aumentar, significa que o seu nível atual de dynos é incapaz de manter o número de pedidos para que eles sejam enfileirados, esse número pode cair, mas se estiver em um nível sustentado, é hora de aumentar o número de dynos. Você pode precisar aumentar para um valor maior para limpar o backlog antes de descartá-lo para um valor mais alto do que antes, mas menor do que a quantia necessária para limpar o backlog.

Como seu lançamento pode ser mais escalonado com o passar do tempo do que com a publicidade na TV, talvez seja necessário configurar o dynos para poder lidar com ele em vez de ativamente monitorá-lo após o lançamento. A New Relic mostrará o 'back log' na aba dynos, que é o mesmo que o valor da fila, então você precisa dar uma olhada nisso se deixar o site sozinho por um período de tempo para ver como ele está sendo executado. Você também pode fazer uso do addon Progstr ( link ) que irá assistir seus logs para você e notificá-lo sobre coisas críticas (como back logs, timeouts etc)

Não tenha muito medo aqui - eu já hospedei sites no Heroku que estão sob uso pesado depois do horário nobre da publicidade na TV e em algumas vezes tem rodado perto de 50 dynos e só acabam com uma conta de alguns. dólares, uma vez que não é sustentado por longos períodos de tempo.

Espero que ajude.

    
por 01.06.2012 / 10:02
0

As empresas de hospedagem para as quais trabalhei costumam ajudá-lo com esse tipo de coisa. Isso também causará problemas, se você aumentar e não estiver pronto para isso, já que eles normalmente hospedam um grande número de clientes em um pequeno grupo de máquinas / servidores. É aconselhável entrar em contato com eles e perguntar quais dicas ou ponteiros que eles podem fornecer a você. Conseguimos mover pessoas para servidores diferentes, aumentar a memória disponível para elas ou até mesmo movê-las para o servidor próprio, se elas estivessem dispostas a pagar por esse serviço, e o servidor dedicado maior. Portanto, há uma grande chance de que eles possam ajudá-lo. Boa sorte, e espero que isso ajude.

    
por 01.06.2012 / 10:37