Fazendo lá mais rápido – Sam intudo

Fazendo lá mais rápido – Sam intudo


Postado em

Ontem à noite, enviei algumas mudanças em Roon que tornaram as coisas muito mais rápidas. Drew me disse que eu deveria escrever sobre isso, então aqui estamos nós. Eu fiz três coisas:

CloudFront

Nossos ativos estavam demorando um pouco para carregar porque o S3 é um pouco lento. Usamos o fantástico Asset_Sync para servir ativos do S3 em vez de Heroku. Essa é uma grande vitória (e custo) por si só, já que o Heroku é caro e é mais adequado, atendendo a solicitações dinâmicas.

O principal problema aqui são webfonts. Os usuários não podem ver nenhum texto em nossas páginas até que a fonte seja carregada pela primeira vez. Isso é uma grande coisa para um aplicativo de blog. Pior ainda, devido à segurança do iOS, se você atingir Roon no TweetBot (ou qualquer outro aplicativo usando UIWebView), ele terá que baixá -lo, pois não compartilha o cache HTTP do sistema por motivos de segurança. Tudo isso fez Roon se sentir super lento – especialmente no celular.

Simplesmente a configuração de uma distribuição em nuvem apontou para o nosso balde S3 e simplesmente mudar nosso host de ativos levou menos de um minuto. Agora, todas as fontes (assim como CSS e JavaScript) são bastante rápidas. Isso foi fácil!

Menos consultas

O espectador (a parte que serve os blogs dos usuários) é a nossa preocupação nº 1 com relação ao desempenho. Queremos absolutamente possibilitar a melhor experiência de escrita, mas as pessoas que lêem seu conteúdo são prioritárias. Sentei-me por 30 minutos ou mais e usei o Mini-Profiler para ver quais consultas estavam sendo realizadas e por quê. Acontece que havia algumas coisas que poderíamos otimizar. A principal coisa aqui foi a pré -busca relacionamentos em objetos, então faria n perguntas.

Levei -o de algumas consultas para carregar a página para apenas um punhado. Sentindo -se muito melhor com as coisas lá. Definitivamente vou trabalhar para melhorar as coisas regularmente.

Unicórnio

Eu acho que foi uma das nossas maiores vitórias nas últimas mudanças. Mudamos de Puma para Unicorn. O Unicorn é um servidor Web Ruby muito rápido e de vários processos. Eu o usei no passado, mas ouvi que a Puma é a nova gostosura, então tenho usado isso para projetos ultimamente.

Eu vi uma palestra de Andre Arko (ele é @indirect e na equipe central do Poundler). Foi uma ótima conversa sobre escalar um serviço da web. Você deveria assistir. Seriamente.

De qualquer forma, ele estava dizendo que o uso de unicórnio sobre Puma realmente ajudou suas coisas e explicou as coisas de simultaneidade. Eu pensei que valeu a pena tentar. Surpreendentemente, realmente melhorou o tempo que levou do roteador Heroku relatando um pedido ao Rails lidando com isso. Não tenho certeza de qual era o negócio, mas uma simples mudança para o Unicorn e agora tudo é muito mais rápido.

Aproveitar

Então, espero que você goste dessas melhorias de velocidade. Todo o site é definitivamente visivelmente mais rápido. Se você não experimentou Roon, confira. Talvez escreva sobre o que você faz em um dia médio de trabalho ou algo assim. Você ficaria surpreso com as coisas interessantes que encontra quando se senta para escrever sobre um tópico.





Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *