SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
Usando Redis para otimizar o sistema boo-box
7 mil publishers
420 milhões de impressões ao mês
O que é qualidade?
Formatos
   Monetização diferenciada

  Excelência          Liberdade de escolha


    Transparência

           Velocidade
Originalidade            Simplicidade
      Estatísticas
                     Targeting
Usando Redis para otimizar o sistema boo-box
Felipe Luis de Souza Vieira
@felipetio
http://felipetio.net
Formatos
   Monetização diferenciada

  Excelência          Liberdade de escolha


    Transparência            Idealismo



           Velocidade
Originalidade            Simplicidade
      Estatísticas
                     Targeting
Targeting


                                Que informações
   Quais sites
                               temos sobre ele?
foram visitados?


                                 O que ele
De onde ele é?                   procura?
Targeting

  User                             Classificação
behaviour                       Que informações
                                      de textos
  Quais sites
                               temos sobre ele?
foram visitados?


                                 O que ele
De onde ele é?                   procura?
                                     Inteligência
         Geo
                                       artificial
     localização
Formatos



Não sei deixar nada bonito na web,
Formatos



     Não sei deixar nada bonito na web,

Nem nesssa apresentação (obrigado @fmafra),
Formatos



            Não sei deixar nada bonito na web,

      Nem nesssa apresentação (obrigado @fmafra),

Ainda não consigo desenvolver layouts com mais de 16 cores.
Formatos




como desenvolvedor eu sei
por que como usuário eu sei
Formatos
OK
NÃO
Usando Redis para otimizar o sistema boo-box
Velocidade




como desenvolvedor eu sei
por que como usuário eu sei
Velocidade

                  Evolução de Impressions
                                                     121MM



                                            93MM


                                72MM

                       55MM

         42MM
34MM




Jul 09   Aug 09        Sep 09   Oct 09      Nov 09   Dec 09
Velocidade




0                100
Velocidade




0                100
Velocidade




0                200
Velocidade
Velocidade
                                                           -)./)!"!

       *+,$"+-

                                          !"#"$%&'$()!                (+#0&1#(#,%)-


         8-$")                                     !"#$%&'(,))".!,%.*/
                   :;<;<
                                  233&4             233&5               233&9            233&7
!"#$%&'("*0


                                  !"#$%&'
                                                         -)#0                    8-$")           :
                                  +,%,
                                  $*#'!&                                                         ;
                                                                                                 <
                                                                -)3($%#")                        ;
       -)3($%#")
                                                                                                 <
                           -)#0                                                                    8-$")
                   =>
                                                                                                      -)#0
                                          !"#$%&'()'*+#!%$(!,!-&            %#%6)&4      %#%6)&7



http://www.boo-box.com/blog/br/2009/nova-infraestrutura-de-servidores-web-do-sistema-boo-box/
Velocidade
Velocidade




Não processar os requests...
Velocidade
Velocidade




CACHE
Evolução do sistema
 de cache boo-box
Início
            Servidor                        API


Tags/Shop


                       Prepara Requisição



                        Pega Produtos
                                                  DEMORA
                        Log
Produtos
Problemas




Tempo
Limite de Requests
Indisponibilidade da API
Primeira Estratégia
 de cache adotada
 CouchDB e Beanstalked
Fluxo do request
            Servidor            Fila          Cache       API


Tags/Shop
                Adiciona p/
                atualização



                              Pega Produtos      +++
                                                 Rápido
                        Log
Produtos
Fluxo de atualização do cache
Fila                    Cache   API                   Daemon




       Pega Shop/Tags


                                         Prepara
                                         Requisição


                                      Pega Produtos


                                  Salva Produtos


        (loop)
Resultado




Tempo
Limite de Requests
Indisponibilidade da API
Resultado




Tempo
Limite de Requests
Indisponibilidade da API
Problemas




Expiração do cache
Escrita em disco
Atualização de versão
Manutenção
Solução atual
Redis e Beanstalked
Redis



Como memcache          Diferente do memcache
Key-values store       Operações avançadas com as keys
Dados na memória       Escalabilidade
Cache implementado     Persistência
Redis



Como memcache                  Diferente do memcache
Key-values store               Operações avançadas com as keys
Dados na memória               Escalabilidade
Cache implementado             Persistência




                     Em números:
                     110.000 SETs/sec
                     81.000 GETs/sec
Fluxo do request
            Servidor            Fila           Cache   API


Shop/Tags
                Adiciona p/
                atualização



                              Tem Produtos (sim)


                              Pega Produtos



                       Log
Produtos
Fluxo do request
            Servidor            Fila           Cache   API


Shop/Tags
                Adiciona p/
    M           atualização
    E
    M
    C
                              Tem Produtos (sim)
    A
    C
    H                         Pega Produtos
    E


                       Log
Produtos
Fluxo do request
            Servidor              Fila              Cache   API


Shop/Tags
                Adiciona p/
    M           atualização
    E
    M                           Tem Produtos (não)
    C
    A
    C                                    Pega Produtos
    H
    E
                        Salva


                       Log
Produtos
Fluxo do request
            Servidor            Fila             Cache           API


Shop/Tags
                Requisita
    M           atualização
    E
    M                         Tem Produtos (não)
    C
    A
    C                                  Pega Produtos (demorou)
    H
    E
                  Pega Produtos Similares


                        Log
Produtos
Fluxo de atualização do cache
Daemon                 Fila                   Cache   API


     Pega Shop/Tags


                              Velho?




                              Pega produtos




               Salva

     (loop)
Resultados
Recursos otimizados

                  couchDB



     300



     200
GB




     100



       0
Recursos otimizados

                   Redis



     300



     200
MB




     100



       0
Recursos otimizados




300 GB -> 300 MB
Sem intervenção!
Recursos otimizados

                   couchDB



      400


      300
CPU




      200


      100


        0
Recursos otimizados

                    Redis



      400


      300
CPU




      200


      100


        0
Recursos otimizados




Usando 3%
 da CPU
Recursos otimizados

 Quer mais?
Redução de 2 servidores...
Reduçao do response time:
Felipe Luis de Souza Vieira
@felipetio
felipe@boo-box.com
http://felipetio.net

Contenu connexe

Similaire à Usando Redis para otimizar o sistema boo-box

RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Criando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web StudioCriando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web StudioAVEVA
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroMichael Castillo Granados
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaAndrei Tognolo
 
O processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresO processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresProdv Comunicação
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publicaFábio Rosato
 
Meet up teste api htt-party cucumber
Meet up   teste api htt-party cucumberMeet up   teste api htt-party cucumber
Meet up teste api htt-party cucumberRafael Berçam
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifactstonyrodrigues
 
Explorando a API do Google Analytics
Explorando a API do Google AnalyticsExplorando a API do Google Analytics
Explorando a API do Google AnalyticsJohann Vivot
 
Front-end ENGINEER
Front-end ENGINEERFront-end ENGINEER
Front-end ENGINEERIvan Banov
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPCarlos Santos
 
EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011Leonardo Balter
 

Similaire à Usando Redis para otimizar o sistema boo-box (20)

Nova web - DNAD 2012
Nova web - DNAD 2012Nova web - DNAD 2012
Nova web - DNAD 2012
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
Criando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web StudioCriando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web Studio
 
Seu primeiro website
Seu primeiro websiteSeu primeiro website
Seu primeiro website
 
Html 5
Html 5Html 5
Html 5
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguro
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
O processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresO processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra Soares
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 
Meet up teste api htt-party cucumber
Meet up   teste api htt-party cucumberMeet up   teste api htt-party cucumber
Meet up teste api htt-party cucumber
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifacts
 
Explorando a API do Google Analytics
Explorando a API do Google AnalyticsExplorando a API do Google Analytics
Explorando a API do Google Analytics
 
Front-end ENGINEER
Front-end ENGINEERFront-end ENGINEER
Front-end ENGINEER
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
 
EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011
 

Plus de Fernando Mafra

Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commercesFernando Mafra
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commercesFernando Mafra
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commercesFernando Mafra
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação AgênciasFernando Mafra
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação AgênciasFernando Mafra
 
Vitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!SearchVitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!SearchFernando Mafra
 

Plus de Fernando Mafra (9)

Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação Agências
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação Agências
 
Agencias 01
Agencias 01Agencias 01
Agencias 01
 
Agencias 01
Agencias 01Agencias 01
Agencias 01
 
tutorial boo-boxfy
tutorial boo-boxfytutorial boo-boxfy
tutorial boo-boxfy
 
Vitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!SearchVitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!Search
 

Dernier

Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Colaborar Educacional
 
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfItaloAtsoc
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123JaineCarolaineLima
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxMarceloDosSantosSoar3
 
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXA CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXHisrelBlog
 
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosPeixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosAgrela Elvixeo
 
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxSlides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .WAGNERJESUSDACUNHA
 
Poema sobre o mosquito Aedes aegipyti -
Poema sobre o mosquito Aedes aegipyti  -Poema sobre o mosquito Aedes aegipyti  -
Poema sobre o mosquito Aedes aegipyti -Mary Alvarenga
 
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdfRitoneltonSouzaSanto
 
Cruzadinha da dengue - Mosquito Aedes aegypti
Cruzadinha da dengue - Mosquito Aedes aegyptiCruzadinha da dengue - Mosquito Aedes aegypti
Cruzadinha da dengue - Mosquito Aedes aegyptiMary Alvarenga
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaTeresaCosta92
 
Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegrafernando846621
 
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)profesfrancleite
 
aula 1.pptx Ementa e Plano de ensino Filosofia
aula 1.pptx Ementa e  Plano de ensino Filosofiaaula 1.pptx Ementa e  Plano de ensino Filosofia
aula 1.pptx Ementa e Plano de ensino FilosofiaLucliaResende1
 
Depende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxDepende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxLuzia Gabriele
 
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdf
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdfEBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdf
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdfIBEE5
 
Ressonancia_magnetica_basica_slide_da_net.pptx
Ressonancia_magnetica_basica_slide_da_net.pptxRessonancia_magnetica_basica_slide_da_net.pptx
Ressonancia_magnetica_basica_slide_da_net.pptxPatriciaFarias81
 

Dernier (20)

Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
Apresente de forma sucinta as atividades realizadas ao longo do semestre, con...
 
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdfARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
ARTE BARROCA E ROCOCO BRASILEIRO-min.pdf
 
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
SEMIOSES DO OLHAR - SLIDE PARA ESTUDO 123
 
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
Abordagens 4 (Problematização) e 5 (Síntese pessoal) do texto de Severino (20...
 
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptxAula 6 - O Imperialismo e seu discurso civilizatório.pptx
Aula 6 - O Imperialismo e seu discurso civilizatório.pptx
 
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARXA CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
A CONCEPÇÃO FILO/SOCIOLÓGICA DE KARL MARX
 
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES MonelosPeixeiras da Coruña. O Muro da Coruña. IES Monelos
Peixeiras da Coruña. O Muro da Coruña. IES Monelos
 
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptxSlides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
Slides Lição 1, CPAD, O Início da Caminhada, 2Tr24, Pr Henrique.pptx
 
Poder do convencimento,........... .
Poder do convencimento,...........         .Poder do convencimento,...........         .
Poder do convencimento,........... .
 
Poema sobre o mosquito Aedes aegipyti -
Poema sobre o mosquito Aedes aegipyti  -Poema sobre o mosquito Aedes aegipyti  -
Poema sobre o mosquito Aedes aegipyti -
 
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
1. CIENCIAS-HUMANAS-GLOBALIZAÇÃO, TEMPO E ESPAÇO-V1.pdf
 
Cruzadinha da dengue - Mosquito Aedes aegypti
Cruzadinha da dengue - Mosquito Aedes aegyptiCruzadinha da dengue - Mosquito Aedes aegypti
Cruzadinha da dengue - Mosquito Aedes aegypti
 
Abordagem 3. Análise interpretativa (Severino, 2013)_PdfToPowerPoint.pdf
Abordagem 3. Análise interpretativa (Severino, 2013)_PdfToPowerPoint.pdfAbordagem 3. Análise interpretativa (Severino, 2013)_PdfToPowerPoint.pdf
Abordagem 3. Análise interpretativa (Severino, 2013)_PdfToPowerPoint.pdf
 
O-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus SousaO-P-mais-importante.pptx de Maria Jesus Sousa
O-P-mais-importante.pptx de Maria Jesus Sousa
 
Termo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegraTermo de audiência de Mauro Cid na ìntegra
Termo de audiência de Mauro Cid na ìntegra
 
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)
AS REBELIÕES NA AMERICA IBERICA (Prof. Francisco Leite)
 
aula 1.pptx Ementa e Plano de ensino Filosofia
aula 1.pptx Ementa e  Plano de ensino Filosofiaaula 1.pptx Ementa e  Plano de ensino Filosofia
aula 1.pptx Ementa e Plano de ensino Filosofia
 
Depende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsxDepende De Nós! José Ernesto Ferraresso.ppsx
Depende De Nós! José Ernesto Ferraresso.ppsx
 
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdf
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdfEBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdf
EBOOK LINGUAGEM GRATUITO EUDCAÇÃO INFANTIL.pdf
 
Ressonancia_magnetica_basica_slide_da_net.pptx
Ressonancia_magnetica_basica_slide_da_net.pptxRessonancia_magnetica_basica_slide_da_net.pptx
Ressonancia_magnetica_basica_slide_da_net.pptx
 

Usando Redis para otimizar o sistema boo-box

Notes de l'éditeur

  1. Quem conhece a boo-box? Quem ultiliza boo-box, adsense, hotwords? E suma, trabalhamos a fim de transformar a forma como a publicidade online &amp;#xE9; feita, oferecendo solu&amp;#xE7;&amp;#xF5;es inovadoras de contextualiza&amp;#xE7;&amp;#xE3;o e formatos que permitam aos publishers e anunciantes aproveitarem e complementarem o conte&amp;#xFA;do, seja com ofertas de produtos e at&amp;#xE9; mesmo campanhas.
  2. Veicular produtos e campanhas parece um trabalho simples mas torna-se muito arduo quando se tem milh&amp;#xF5;es de visualiza&amp;#xE7;&amp;#xF5;es diarias e milhares de publisher que n&amp;#xE3;o exitariam em trocar a boo-box por outro servi&amp;#xE7;o se nossas &amp;#x201C;vitrines&amp;#x201D; n&amp;#xE3;o tiver qualidade...
  3. Mas afinal... O que &amp;#xE9; qualidade? Para ser a refer&amp;#xEA;ncia em veicula&amp;#xE7;&amp;#xE3;o de publicidade em m&amp;#xED;dias sociais, todos os que trabalham na boo se preocupam com diversos valores!
  4. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  5. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  6. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  7. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  8. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  9. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  10. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  11. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  12. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  13. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  14. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  15. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  16. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  17. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  18. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  19. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  20. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  21. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  22. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  23. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  24. Desenvolvedor web a 3 anos, formando em inform&amp;#xE1;tica no interior, entusiasta de software livre, pugilista amador 3 vezes por semana e atualmente um programador do time da boo, o que faz de mim um ninja!
  25. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  26. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  27. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  28. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  29. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  30. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  31. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  32. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  33. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  34. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  35. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  36. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  37. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  38. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  39. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  40. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  41. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  42. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  43. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  44. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  45. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  46. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  47. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  48. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  49. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  50. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  51. Quando navego na internet eu busco pelo conte&amp;#xFA;do bem apresentado, bonito!
  52. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  53. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  54. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  55. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  56. Apresentar de maneira inovadora produtos que fazem parte do conte&amp;#xFA;do do usu&amp;#xE1;rio parece uma receita boa para o sucesso... Mas isso basta?
  57. N&amp;#xC3;O!
  58. Vivemos em um ritmo acelerado! Quando navego na internet n&amp;#xE3;o tenho muitas vezes paci&amp;#xEA;ncia em esperar o conte&amp;#xFA;do que estou buscando. E isso faz valer o que j&amp;#xE1; foi dito aqui:
  59. E se temos urgencia em navegar, se queremos o que buscamos quase sempre instant&amp;#xE2;neamente. Qual ser&amp;#xE1; a nossa paci&amp;#xEA;ncia para aguardar uma publicidade carregar?
  60. Toda vez que a rede da boo-box aumenta temos que garantir que todos os produtos sejam exibidos a uma velociade instant&amp;#xE2;nea, caso contrario todo o trabalho ficaria comprometido.
  61. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  62. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  63. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  64. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  65. Codigo limpo e otimizado... Geralmente c&amp;#xF3;digo limpo &amp;#xE9; c&amp;#xF3;digo otimizado!
  66. Infraestrutura parruda... Curioso veja mais no blog da boo-box: http://www.boo-box.com/blog/br/2009/nova-infraestrutura-de-servidores-web-do-sistema-boo-box/
  67. Horas extras principalmente nas viraliza&amp;#xE7;&amp;#xF5;es!
  68. Nao didi o que ele falou
  69. Ma como?? Me explica essa porra Batima!
  70. cache! Memcache, Redis, Couchdb, Tokyo, Mysql, Postgres Quem conhece e j&amp;#xE1; trabalhou com alguma tecnologia?
  71. No inicio da boo-box contextualiza&amp;#xE7;&amp;#xE3;o e novos formatos foram capaz de levar a empresa para um patamar inc&amp;#x155;ivel a preocupa&amp;#xE7;&amp;#xE3;o com a velocidade ainda n&amp;#xE3;o era um problema, por conta disso podiamos acessar diretamente as apis em busca dos produtos dos usu&amp;#xE1;rios
  72. Isso n&amp;#xE3;o era certo... Os problemas vieram junto com o primeiro sinal de crescimento...
  73. O que &amp;#xE9; couchDB? O que &amp;#xE9; beanstalked?
  74. &amp;#x2022; Tempo: O tempo do couchdb era extremamente mais r&amp;#xE1;pido que buscar um produto em um e-commerce! &amp;#x2022; Limite de requests: Com o processo assincrono, podiamos controlar melhor o n&amp;#xED;vel de acesso as api descartando, por exemplo, produtos que j&amp;#xE1; estavam cacheados. &amp;#x2022; Indisponibilidade da api: Como quem fazia a comunica&amp;#xE7;&amp;#xE3;o com a api n&amp;#xE3;o estava ligado com os request esse tipo de problema passou a n&amp;#xE3;o existir mais. Os produtos cacheados permaneciam na base e n&amp;#xE3;o eram expirados.
  75. Ap&amp;#xF3;s mais de um ano de sucesso com o couchdb alguns problemas come&amp;#xE7;aram a surgir, alguns devido a estrat&amp;#xE9;gia adotada que passou a n&amp;#xE3;o ser interessante em todos os casos outros pelo viraliza&amp;#xE7;&amp;#xE3;o da rede da boo-box que tornou o couchdb um gargalo: Os produtos por n&amp;#xE3;o serem expirados aumentavam dia apos dia fazendo-se necess&amp;#xE1;rio a interve&amp;#xE7;&amp;#xE3;o para limpar a base. O crescimento apenas agravou este fato fazendo com que essa interven&amp;#xE7;&amp;#xE3;o tivesse que acontecer semanalmente toda vez que essa opera&amp;#xE7;&amp;#xE3;o era feita a contextualiza&amp;#xE7;&amp;#xE3;o dos produtos ficava comprometida apresentando produtos randomicos at&amp;#xE9; que a base estivesse um pouco populada Como o numero de request/segundo aumentava diariamente o couchdb passou a ter problemas de escrita em disco. A cada requisi&amp;#xE7;&amp;#xE3;o o arquivo da base era aberto e tivemos que aumentar o numero de vezes que o so poderia abrir um arquivo. Infelizmente nem isso solucionou o problema... Um agravante n&amp;#xE3;o estavamos usando a ultima vers&amp;#xE3;o do couchdb. A atualiza&amp;#xE7;&amp;#xE3;o poderia resolver o problema mas n&amp;#xE3;o o fez. Apo&amp;#x15B; refatorar o c&amp;#xF3;digo para vers&amp;#xE3;o mais recente tivemos que fazer rollback e com a vers&amp;#xE3;o antiga passamos a ter muito problemas e pouco suporte, o couch &amp;#xE9; uma tecnologia alfa ent&amp;#xE3;o ficamos na m&amp;#xE3;o estudando o couchdb para resolver os problemas. Por fim, ap&amp;#xF3;s uma migra&amp;#xE7;&amp;#xE3;o de datacenters tivemos um agravante pois s nossos novos server tinham problemas de grava&amp;#xE7;&amp;#xE3;o de disco que afetou diretamente o tempo dos produtos levando-os para um patamar inaceit&amp;#xE1;vel...
  76. Ele pode ser definido como um avan&amp;#xE7;ado &amp;#x201C;key-values store&amp;#x201D; com algumas funcionalidades interessantes como suporte para listas, capacidade de ordena&amp;#xE7;&amp;#xF5;es, busca por keywords similares, e o fato dos dados serem persistidos no hd de maneira assincrona sem afetar a performace de um banco que roda 100% na mem&amp;#xF3;ria ram. O cache na mem&amp;#xF3;ria RAM &amp;#xE9; ideal para armazenar arquivos pequenos que ser&amp;#xE3;o entregues instantaneamente para os clientes. O Redis, assim como o memcache, se encaixa nessa categoria. Ok voc&amp;#xEA; quer n&amp;#xFA;meros? O redis tem as funcionalidades de cache implementadas uma expira&amp;#xE7;&amp;#xE3;o inteligente e autom&amp;#xE1;tica