Palestra apresentanda na Python Brasil 9
-
Upload
victor-pantoja -
Category
Technology
-
view
237 -
download
0
description
Transcript of Palestra apresentanda na Python Brasil 9
![Page 1: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/1.jpg)
Usando Django paraServir 12 milhões de Usuários
Python Brasil 9
1sexta-feira, 4 de outubro de 13
![Page 2: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/2.jpg)
Usando Django paraServir 12 milhões de Usuários
Python Brasil 9
20 milhões
1sexta-feira, 4 de outubro de 13
![Page 3: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/3.jpg)
Rômulo Jales
2
Victor Pantoja
2sexta-feira, 4 de outubro de 13
![Page 4: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/4.jpg)
Motivação
3
3sexta-feira, 4 de outubro de 13
![Page 5: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/5.jpg)
Motivação
4
4sexta-feira, 4 de outubro de 13
![Page 6: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/6.jpg)
Motivação
5
5sexta-feira, 4 de outubro de 13
![Page 7: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/7.jpg)
Motivação
6
6sexta-feira, 4 de outubro de 13
![Page 8: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/8.jpg)
Motivação
7
7sexta-feira, 4 de outubro de 13
![Page 9: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/9.jpg)
Alguns númerosVisitantes únicos: 20,7 milhões por mês
8
Visitas: 215 milhões por mês
8 milhões de visitas por dia!
8sexta-feira, 4 de outubro de 13
![Page 10: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/10.jpg)
Alguns números
9
- matérias republicadas: 2020- confrontos republicados: 1023- homes republicadas: 3367- galerias republicadas: 92- enquetes republicadas: 57- CSS regerados: 708
9sexta-feira, 4 de outubro de 13
![Page 11: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/11.jpg)
Tecnologias
10
10sexta-feira, 4 de outubro de 13
![Page 12: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/12.jpg)
11
11sexta-feira, 4 de outubro de 13
![Page 13: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/13.jpg)
12
Framework WEB MVC
Propicia uso de melhores práticas de Eng SW
Mas Django não escala...
12sexta-feira, 4 de outubro de 13
![Page 14: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/14.jpg)
13
Uso de Middlewares
Cache de View
Mas Django não escala...
@cache_control(max_age=300)def top_atletas(request, periodo, quantidade, formato): dados = MateriaSemanticaController().top_atletas(periodo, quantidade) return render_to_json(dados, formato, 'top_atletas')
13sexta-feira, 4 de outubro de 13
![Page 15: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/15.jpg)
Bottlenecks
14
MySQL»
Virtuoso»
I/O»
14sexta-feira, 4 de outubro de 13
![Page 16: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/16.jpg)
Pré-geraçãoNão deixe o usuário disparar ações críticas do sistema!
15
django-staticgenerator
15sexta-feira, 4 de outubro de 13
![Page 17: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/17.jpg)
Pré-geraçãoNecessita que alguém ou algo dispare o processo
16
16sexta-feira, 4 de outubro de 13
![Page 18: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/18.jpg)
17
CACHE EVERYWHERE
CACHE
17sexta-feira, 4 de outubro de 13
![Page 19: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/19.jpg)
Memcached
Faça o caching de objetos e não de resultados de queries!
18
18sexta-feira, 4 de outubro de 13
![Page 20: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/20.jpg)
Memcached
19
Diminui a quantidade de memória utilizada: podemos ter várias listas de ids de objetos mas apenas uma entrada para cada objeto
»
Aumenta a performance do sistema: não é necessário expurgar todo o cache de uma lista na alteração de um objeto. Basta expurgar o objeto.
»
19sexta-feira, 4 de outubro de 13
![Page 21: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/21.jpg)
Ajax vs SSIMelhor para a indexação daquele conteúdo (SEO)»
20
Diferentes tempos de cache para componentes em uma mesma página»
Melhora a performance client-side»
Diminui o número de requisições ao servidor»
20sexta-feira, 4 de outubro de 13
![Page 22: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/22.jpg)
21sexta-feira, 4 de outubro de 13
![Page 23: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/23.jpg)
22
32 Bits com PAE (problemas ao servir cache)»
64 Bits»
22sexta-feira, 4 de outubro de 13
![Page 24: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/24.jpg)
Baixo consumo de recursos da máquina»
23
simples configuração»
alta performance»
free e open source»
módulos essenciais: purge, ssi e proxy cache»
23sexta-feira, 4 de outubro de 13
![Page 25: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/25.jpg)
BeanstalkdAplicação de gerenciamento de filas que utiliza o paradigma pubsub»
24
Solução para processamento assíncrono e offline»
24sexta-feira, 4 de outubro de 13
![Page 26: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/26.jpg)
Minify de CSS e JS»
25
CSS Sprite»
Tempo de expiração adequado»
gzip»
estáticos servidos pelo Varnish em uma farm separada»
Performance Client-Side
caching do browser»
25sexta-feira, 4 de outubro de 13
![Page 27: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/27.jpg)
26
Performance Client-SideConfigure os headers da requisição corretamente!
HTTP/1.1 200 OKAccept-Encoding:gzip,deflate,sdchContent-Type: application/jsonVary: Accept-EncodingCache-Control: max-age=30Expires: Tue, 01 Oct 2013 14:45:24 GMTDate: Tue, 01 Oct 2013 14:44:59 GMTX-Varnish: 1952793053 1952791896
26sexta-feira, 4 de outubro de 13
![Page 28: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/28.jpg)
27
Pitomba Spriter
pitomba.org
27sexta-feira, 4 de outubro de 13
![Page 29: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/29.jpg)
FerramentasApache HTTP server benchmarking tool»
28
Monit: ferramenta open source para gerencia e monitoramento de processos, programas, arquivos, diretórios, serviços etc
»
WebPageTest: webpagetest.org»
28sexta-feira, 4 de outubro de 13
![Page 30: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/30.jpg)
Palavra Final
29
Escalabilidade não é uma questão de linguagem ou framework mas de arquitetura da aplicação!!
29sexta-feira, 4 de outubro de 13
![Page 31: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/31.jpg)
/DEV
30
http://globodev.tumblr.com/
Conteúdo criado pelos desenvolvedores da globo.com
30sexta-feira, 4 de outubro de 13
![Page 32: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/32.jpg)
31
31sexta-feira, 4 de outubro de 13
![Page 33: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/33.jpg)
32
https://github.com/globocom/IWantToWorkAtGloboCom
http://bit.ly/quero-trabalhar-globo-com
32sexta-feira, 4 de outubro de 13
![Page 34: Palestra apresentanda na Python Brasil 9](https://reader034.fdocument.pub/reader034/viewer/2022042521/5496530cac7959342e8b50cf/html5/thumbnails/34.jpg)
Perguntas!!@romulojales
33
@victorpantoja
33sexta-feira, 4 de outubro de 13