• Save
RubyMastersConf - Escalabilidade do S.O. ao Rails
Upcoming SlideShare
Loading in...5
×
 

RubyMastersConf - Escalabilidade do S.O. ao Rails

on

  • 3,226 views

Palestra do RubyMastersConf falando a respeito de escalabilidade de aplicações web utilizando Ruby On Rails

Palestra do RubyMastersConf falando a respeito de escalabilidade de aplicações web utilizando Ruby On Rails

Statistics

Views

Total Views
3,226
Views on SlideShare
1,317
Embed Views
1,909

Actions

Likes
1
Downloads
3
Comments
0

6 Embeds 1,909

http://blog.egenial.com.br 1793
http://blog.dito.com.br 112
http://forum.rubyonbr.org 1
http://webcache.googleusercontent.com 1
http://www.plugmasters.com.br 1
http://theoldreader.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    RubyMastersConf - Escalabilidade do S.O. ao Rails RubyMastersConf - Escalabilidade do S.O. ao Rails Presentation Transcript

    • Escalabilidade - Do S.O. ao Rails Bruno Andrade Alves bruno@dito.com.brsegunda-feira, 28 de fevereiro de 2011
    • Ideiasegunda-feira, 28 de fevereiro de 2011
    • Execuçãosegunda-feira, 28 de fevereiro de 2011
    • Publicaçãosegunda-feira, 28 de fevereiro de 2011
    • Divulgaçãosegunda-feira, 28 de fevereiro de 2011
    • Utilizaçãosegunda-feira, 28 de fevereiro de 2011
    • Satisfaçãosegunda-feira, 28 de fevereiro de 2011
    • O que aconteceu?segunda-feira, 28 de fevereiro de 2011
    • Solução imediatasegunda-feira, 28 de fevereiro de 2011
    • Feliz novamentesegunda-feira, 28 de fevereiro de 2011
    • Produto é um sucesso!segunda-feira, 28 de fevereiro de 2011
    • #fail :(segunda-feira, 28 de fevereiro de 2011
    • Aplicativo no orkut, facebook e portal de futebol com mais de 940 mil usuários cadastrados e mais de 50 milhões de apostassegunda-feira, 28 de fevereiro de 2011
    • Game educativo para orkut para combate da dengue com mais de 850 mil usuários cadastrados em menos de 2 mesessegunda-feira, 28 de fevereiro de 2011
    • Solução utilizada em grande parte dos e-commerces brasileiros dentre eles:segunda-feira, 28 de fevereiro de 2011
    • Aplicativo no orkut e no facebook com milhões de usuários impactadossegunda-feira, 28 de fevereiro de 2011
    • Primeiro organizador de compra coletivas do Brasilsegunda-feira, 28 de fevereiro de 2011
    • Fluxo de uma aplicação websegunda-feira, 28 de fevereiro de 2011
    • Identifique o gargalosegunda-feira, 28 de fevereiro de 2011
    • segunda-feira, 28 de fevereiro de 2011
    • Pontos de otimização para a camada do browser CSS Javascript Cache Imagens Requisiçõessegunda-feira, 28 de fevereiro de 2011
    • Ferramentas YSlow Google Page speedsegunda-feira, 28 de fevereiro de 2011
    • Gargalo no servidor web +segunda-feira, 28 de fevereiro de 2011
    • Gargalo no servidor web Verificar número máximo de clientes configurada (maxclients) KeepAlive KeepAliveTimeoutsegunda-feira, 28 de fevereiro de 2011
    • Apache Server Status Existem workers livressegunda-feira, 28 de fevereiro de 2011
    • passenger-statussegunda-feira, 28 de fevereiro de 2011
    • passenger-statussegunda-feira, 28 de fevereiro de 2011
    • passenger-status GARGALOsegunda-feira, 28 de fevereiro de 2011
    • Gargalo na aplicaçãosegunda-feira, 28 de fevereiro de 2011
    • Como identificar gargalos na aplicação?segunda-feira, 28 de fevereiro de 2011
    • Newrelicsegunda-feira, 28 de fevereiro de 2011
    • Newrelictempo médiode requisição 36s SELECT está demorando 4,8ssegunda-feira, 28 de fevereiro de 2011
    • Acompanhe o log durante o desenvolvimentosegunda-feira, 28 de fevereiro de 2011
    • Realize operações pesadas de modo assíncrono DelayedJob Resque Permitem criar uma fila de jobs para serem executados, ex.: Envio de emails, atualização de timeline de amigos, etc.segunda-feira, 28 de fevereiro de 2011
    • Problema Odrible.comCom o crescimento dos usuários o ranking passou ademorar mais de 1 dia para executarsegunda-feira, 28 de fevereiro de 2011
    • Fatores complicadoresGrande parte do processamento da regra de negócio erafeita no rubysegunda-feira, 28 de fevereiro de 2011
    • Fatores complicadoresGrande parte do processamento da regra de negócio erafeita no rubyMuito tráfego de dados entre o MySQL e o Rubysegunda-feira, 28 de fevereiro de 2011
    • Fatores complicadoresGrande parte do processamento da regra de negócio erafeita no rubyMuito tráfego de dados entre o MySQL e o RubyEstrutura de dados não estava otimizada para oprocessamentosegunda-feira, 28 de fevereiro de 2011
    • Solução Desnormalizar base, otimizando a estruturasegunda-feira, 28 de fevereiro de 2011
    • SoluçãoDesnormalizar base, otimizando a estruturaA ordenação do ranking foi substituída de:segunda-feira, 28 de fevereiro de 2011
    • SoluçãoDesnormalizar base, otimizando o processamentoA ordenação do ranking foi substituída de: Por:segunda-feira, 28 de fevereiro de 2011
    • SoluçãoDesnormalizar base, otimizando o processamentoA ordenação do ranking foi substituída de: Por: Processamento no bancosegunda-feira, 28 de fevereiro de 2011
    • Problema no parser de XMLO parser de XML desenvolvido passava em todos ostestes, porém quando foi para produção o XML aumentoude tamanho e o tempo de processamento ficou inviávelsegunda-feira, 28 de fevereiro de 2011
    • Solução O parser que utilizava a biblioteca rexml teve que ser reescrito utilizando a bliblioteca nokogirisegunda-feira, 28 de fevereiro de 2011
    • Conclusão Quando for utilizar bibliotecas, procure saber de sua performance antes de começar a implementaçãosegunda-feira, 28 de fevereiro de 2011
    • Gargalo no banco de dadossegunda-feira, 28 de fevereiro de 2011
    • MySQLTunersegunda-feira, 28 de fevereiro de 2011
    • MySQLTuner apenas 100MB de um banco 3,9 GB está em memóriasegunda-feira, 28 de fevereiro de 2011
    • MySQLTuner apenas 100MB de um banco 3,9 GB está em memória Leia asrecomendações e procure entender o significadosegunda-feira, 28 de fevereiro de 2011
    • MySQL Procure manter o máximo possível do banco em memória Performance muito mais lenta quando se utiliza disco Ative o log de slow queries para ajudar a identificar as queries que estão pesando o BDsegunda-feira, 28 de fevereiro de 2011
    • MySQL Para fulltext search utilize algum servidor de busca por ex.: Solr e Sphinx Utilizar índice nas tabelas quando necessário Utilizar o “Explain” nas queries para verificar o seu comportamento e otimizá-las se for o caso mysqlperformanceblog.comsegunda-feira, 28 de fevereiro de 2011
    • Problema Odrible.com Muitas apostas antigas que devem ser guardadas porém pouco acessadassegunda-feira, 28 de fevereiro de 2011
    • Solução: Passar dados armazenados na engine InnoDB para Archive que gastam quase 83% menos espaçosegunda-feira, 28 de fevereiro de 2011
    • Resultado Necessário menos memória para suportar todo o banco em memóriasegunda-feira, 28 de fevereiro de 2011
    • Fluxo de uma aplicação websegunda-feira, 28 de fevereiro de 2011
    • Fluxo de uma aplicação web Cache (Varnish, Squid)segunda-feira, 28 de fevereiro de 2011
    • Fluxo de uma aplicação web Cache Cache (Page cache,action (Varnish, Squid) cache, fragment cache)segunda-feira, 28 de fevereiro de 2011
    • Fluxo de uma aplicação web Cache Cache Cache (Page cache,action (Varnish, Squid) cache, fragment (Memcached) cache)segunda-feira, 28 de fevereiro de 2011
    • Conclusão?segunda-feira, 28 de fevereiro de 2011
    • Cachesegunda-feira, 28 de fevereiro de 2011
    • Cache Cachesegunda-feira, 28 de fevereiro de 2011
    • Cache Cache Cachesegunda-feira, 28 de fevereiro de 2011
    • Faça benchmarkssegunda-feira, 28 de fevereiro de 2011
    • Tudo deve ser monitorado!segunda-feira, 28 de fevereiro de 2011
    • Como monitorar?segunda-feira, 28 de fevereiro de 2011
    • Como monitorar? Nagios, Munin dentre outrossegunda-feira, 28 de fevereiro de 2011
    • Como monitorar? Geração de gráficossegunda-feira, 28 de fevereiro de 2011
    • Como monitorar? Monitoramento proativosegunda-feira, 28 de fevereiro de 2011
    • Analytics para página de erros Permite acompanhar o resultado para o usuário final das soluções adotadassegunda-feira, 28 de fevereiro de 2011
    • Se o gargalo for hardware?segunda-feira, 28 de fevereiro de 2011
    • Escalabilidade verticalsegunda-feira, 28 de fevereiro de 2011
    • Escalabilidade horizontalsegunda-feira, 28 de fevereiro de 2011
    • Escalabilidade horizontal Infra boo-box + 5 bilhões de impressões em 2010 Fonte: booblog.boo-box.comsegunda-feira, 28 de fevereiro de 2011
    • Não existe receita para escalabilidadesegunda-feira, 28 de fevereiro de 2011
    • Cada caso deve ser analisado separadamentesegunda-feira, 28 de fevereiro de 2011
    • Não se prenda a uma tecnologia. Utilize a melhor para resolver o seu problemasegunda-feira, 28 de fevereiro de 2011
    • Perguntas?segunda-feira, 28 de fevereiro de 2011
    • Referências http://highscalability.com/ http://www.mysqlperformanceblog.com/ http://railslab.newrelic.com/scaling-railssegunda-feira, 28 de fevereiro de 2011
    • Obrigado! Bruno Andrade Alves bruno@dito.com.brsegunda-feira, 28 de fevereiro de 2011