Usando Redis para otimizar o sistema boo-box
-
Upload
fernando-mafra -
Category
Education
-
view
2.065 -
download
2
description
Transcript of Usando Redis para otimizar o sistema boo-box
![Page 1: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/1.jpg)
![Page 2: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/2.jpg)
7 mil publishers 420 milhões de impressões ao mês
![Page 3: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/3.jpg)
O que é qualidade?
![Page 4: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/4.jpg)
Excelência
Targeting
Transparência
VelocidadeIdealismo
Formatos
Originalidade
Monetização diferenciada
SimplicidadeEstatísticas
Liberdade de escolha
![Page 5: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/5.jpg)
![Page 6: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/6.jpg)
Felipe Luis de Souza Vieira@felipetiohttp://felipetio.net
![Page 7: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/7.jpg)
Excelência
Targeting
Transparência
VelocidadeIdealismo
Formatos
Originalidade
Monetização diferenciada
SimplicidadeEstatísticas
Liberdade de escolha
![Page 8: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/8.jpg)
Targeting
De onde ele é?
Que informaçõestemos sobre ele? Quais sites
foram visitados?
O que ele procura?
![Page 9: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/9.jpg)
Targeting
De onde ele é?
Que informaçõestemos sobre ele? Quais sites
foram visitados?
O que ele procura?
User behaviour
Inteligência artificialGeo
localização
Classificação de textos
![Page 10: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/10.jpg)
Formatos
Não sei deixar nada bonito na web,
![Page 11: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/11.jpg)
Formatos
Não sei deixar nada bonito na web,
Nem nesssa apresentação (obrigado @fmafra),
![Page 12: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/12.jpg)
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.
![Page 13: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/13.jpg)
Formatos
como desenvolvedor eu sei por que como usuário eu sei
![Page 14: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/14.jpg)
Formatos
![Page 15: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/15.jpg)
OK
![Page 16: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/16.jpg)
NÃO
![Page 17: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/17.jpg)
![Page 18: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/18.jpg)
Velocidade
como desenvolvedor eu sei por que como usuário eu sei
![Page 19: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/19.jpg)
Velocidade
Jul 09 Aug 09 Sep 09 Oct 09 Nov 09 Dec 09
121MM
93MM
72MM
55MM
42MM34MM
Evolução de Impressions
![Page 20: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/20.jpg)
Velocidade
0 100
![Page 21: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/21.jpg)
Velocidade
0 100
![Page 22: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/22.jpg)
Velocidade
0 200
![Page 23: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/23.jpg)
Velocidade
![Page 24: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/24.jpg)
Velocidade
!"#"$%&'$()!
*+,$"+-
-)./)!"!
(+#0&1#(#,%)-
233&4 233&5
%#%6)&7%#%6)&4!"#$%&'()'*+#!%$(!,!-&
!"#$%&'(,))".!,%.*/
!"#$%&'("*0
-)3($%#")
8-$")-)#0
-)#0
8-$")
8-$")-)#0
!"#$%&'+,%,$*#'!&
-)3($%#")
233&9 233&7
:;<;<
:;<;<
=>
http://www.boo-box.com/blog/br/2009/nova-infraestrutura-de-servidores-web-do-sistema-boo-box/
![Page 25: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/25.jpg)
Velocidade
![Page 26: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/26.jpg)
Velocidade
Não processar os requests...
![Page 27: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/27.jpg)
Velocidade
![Page 28: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/28.jpg)
Velocidade
CACHE
![Page 29: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/29.jpg)
Evolução do sistemade cache boo-box
![Page 30: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/30.jpg)
Tags/Shop
Produtos
Prepara Requisição
Pega Produtos
Log
DEMORA
APIServidor
Início
![Page 31: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/31.jpg)
Problemas
TempoLimite de RequestsIndisponibilidade da API
![Page 32: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/32.jpg)
Primeira Estratégiade cache adotada
CouchDB e Beanstalked
![Page 33: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/33.jpg)
Tags/Shop
Produtos
Adiciona p/atualização
Pega Produtos
Log
+++Rápido
Fluxo do requestServidor APIFila Cache
![Page 34: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/34.jpg)
Pega Shop/Tags
PreparaRequisição
Pega Produtos
Salva Produtos
Fluxo de atualização do cacheAPIFila Cache Daemon
(loop)
![Page 35: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/35.jpg)
Resultado
TempoLimite de RequestsIndisponibilidade da API
![Page 36: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/36.jpg)
Resultado
TempoLimite de RequestsIndisponibilidade da API
TempoLimite de RequestsIndisponibilidade da API
![Page 37: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/37.jpg)
Problemas
Expiração do cacheEscrita em discoAtualização de versãoManutenção
![Page 38: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/38.jpg)
Solução atualRedis e Beanstalked
![Page 39: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/39.jpg)
Redis
Como memcacheKey-values storeDados na memóriaCache implementado
Diferente do memcacheOperações avançadas com as keysEscalabilidadePersistência
![Page 40: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/40.jpg)
Redis
Como memcacheKey-values storeDados na memóriaCache implementado
Diferente do memcacheOperações avançadas com as keysEscalabilidadePersistência
Em números:110.000 SETs/sec81.000 GETs/sec
![Page 41: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/41.jpg)
Shop/Tags
Produtos
Adiciona p/atualização
Tem Produtos (sim)
Log
Fluxo do requestServidor APIFila Cache
Pega Produtos
![Page 42: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/42.jpg)
Shop/Tags
Produtos
Adiciona p/atualização
Tem Produtos (sim)
Log
Fluxo do requestServidor APIFila Cache
MEM CACHE
Pega Produtos
![Page 43: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/43.jpg)
Shop/Tags
Produtos
Adiciona p/atualização
Tem Produtos (não)
Log
Fluxo do requestServidor APIFila Cache
MEM CACHE
Pega Produtos
Salva
![Page 44: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/44.jpg)
Shop/Tags
Produtos
Requisitaatualização
Tem Produtos (não)
Log
Fluxo do requestServidor APIFila Cache
MEM CACHE
Pega Produtos (demorou)
Pega Produtos Similares
![Page 45: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/45.jpg)
(loop)
Pega produtos
Pega Shop/Tags
Salva
Fluxo de atualização do cacheAPIFila CacheDaemon
Velho?
![Page 46: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/46.jpg)
Resultados
![Page 47: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/47.jpg)
Recursos otimizados
0
100
200
300
GB
couchDB
![Page 48: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/48.jpg)
0
100
200
300
MB
Recursos otimizados
Redis
![Page 49: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/49.jpg)
Recursos otimizados
300 GB -> 300 MBSem intervenção!
![Page 50: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/50.jpg)
0
100
200
300
400
CP
URecursos otimizados
couchDB
![Page 51: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/51.jpg)
0
100
200
300
400
CP
URecursos otimizados
Redis
![Page 52: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/52.jpg)
Recursos otimizados
Usando 3%da CPU
![Page 53: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/53.jpg)
Recursos otimizados
Quer mais?Redução de 2 servidores...Reduçao do response time:
![Page 54: Usando Redis para otimizar o sistema boo-box](https://reader031.fdocuments.net/reader031/viewer/2022020110/5498c82aac79591d2e8b570f/html5/thumbnails/54.jpg)
Felipe Luis de Souza Vieira@[email protected]://felipetio.net