Palestra apresentanda na Python Brasil 9
Upcoming SlideShare
Loading in...5
×
 

Palestra apresentanda na Python Brasil 9

on

  • 336 views

Palestra apresentada na Python Brasil 9, realizada em Brasília. ...

Palestra apresentada na Python Brasil 9, realizada em Brasília.

A palestra fala sobre os problemas enfrentados e como foram solucionados. Falamos das tecnolgias que utilizamos, como o gunicorn, memcached, semântica (virtuoso) e nginx e como essas tecnologias se encaixam.

Statistics

Views

Total Views
336
Views on SlideShare
336
Embed Views
0

Actions

Likes
2
Downloads
1
Comments
0

0 Embeds 0

No embeds

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

Palestra apresentanda na Python Brasil 9 Palestra apresentanda na Python Brasil 9 Presentation Transcript

  • Usando Django para Servir 12 milhões de Usuários Python Brasil 9 1sexta-feira, 4 de outubro de 13
  • Usando Django para Servir 12 milhões de Usuários Python Brasil 9 20 milhões 1sexta-feira, 4 de outubro de 13
  • Rômulo Jales 2 Victor Pantoja 2sexta-feira, 4 de outubro de 13
  • Motivação 3 3sexta-feira, 4 de outubro de 13
  • Motivação 4 4sexta-feira, 4 de outubro de 13
  • Motivação 5 5sexta-feira, 4 de outubro de 13
  • Motivação 6 6sexta-feira, 4 de outubro de 13
  • Motivação 7 7sexta-feira, 4 de outubro de 13
  • Alguns números Visitantes ú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
  • 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
  • Tecnologias 10 10sexta-feira, 4 de outubro de 13
  • 11 11sexta-feira, 4 de outubro de 13
  • 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
  • 13 Uso de Middlewares Cache deView 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
  • Bottlenecks 14 MySQL» Virtuoso» I/O» 14sexta-feira, 4 de outubro de 13
  • Pré-geração Não deixe o usuário disparar ações críticas do sistema! 15 django-staticgenerator 15sexta-feira, 4 de outubro de 13
  • Pré-geração Necessita que alguém ou algo dispare o processo 16 16sexta-feira, 4 de outubro de 13
  • 17 CACHE EVERYWHERE CACHE 17sexta-feira, 4 de outubro de 13
  • Memcached Faça o caching de objetos e não de resultados de queries! 18 18sexta-feira, 4 de outubro de 13
  • 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
  • Ajax vs SSI Melhor 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
  • 21sexta-feira, 4 de outubro de 13
  • 22 32 Bits com PAE (problemas ao servir cache)» 64 Bits» 22sexta-feira, 4 de outubro de 13
  • 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
  • Beanstalkd Aplicaçã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
  • Minify de CSS e JS» 25 CSS Sprite» Tempo de expiração adequado» gzip» estáticos servidos peloVarnish em uma farm separada» Performance Client-Side caching do browser» 25sexta-feira, 4 de outubro de 13
  • 26 Performance Client-Side Configure os headers da requisição corretamente! HTTP/1.1 200 OK Accept-Encoding:gzip,deflate,sdch Content-Type: application/json Vary:Accept-Encoding Cache-Control: max-age=30 Expires:Tue, 01 Oct 2013 14:45:24 GMT Date:Tue, 01 Oct 2013 14:44:59 GMT X-Varnish: 1952793053 1952791896 26sexta-feira, 4 de outubro de 13
  • 27 Pitomba Spriter pitomba.org 27sexta-feira, 4 de outubro de 13
  • Ferramentas Apache 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
  • 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
  • /DEV 30 http://globodev.tumblr.com/ Conteúdo criado pelos desenvolvedores da globo.com 30sexta-feira, 4 de outubro de 13
  • 31 31sexta-feira, 4 de outubro de 13
  • 32 https://github.com/globocom/ IWantToWorkAtGloboCom http://bit.ly/quero-trabalhar-globo-com 32sexta-feira, 4 de outubro de 13
  • Perguntas!! @romulojales 33 @victorpantoja 33sexta-feira, 4 de outubro de 13