0
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Melhorando a performance de aplicações Django
Upcoming SlideShare
Loading in...5
×

Melhorando a performance de aplicações Django

1,907

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,907
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
33
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide





  • cliente ligndo, indignado pq o site naum responde
  • é a forma de vc exibir o site sem precisar processar o seu conteudo a cada requisição

  • há os seguintes mecanismos para cachear o site
  • há os seguintes mecanismos para cachear o site
  • há os seguintes mecanismos para cachear o site
  • há os seguintes mecanismos para cachear o site
  • há os seguintes mecanismos para cachear o site
  • A razão real é 1/cull_percentage, então configure o cull_percentage=2 para limpar metadae das entradas quando o valor de max_entries for atingido.
  • A razão real é 1/cull_percentage, então configure o cull_percentage=2 para limpar metadae das entradas quando o valor de max_entries for atingido.
  • A razão real é 1/cull_percentage, então configure o cull_percentage=2 para limpar metadae das entradas quando o valor de max_entries for atingido.

  • middleware é uma forma de processar informações adicionais no request/response

  • para cachear umas parte do template

  • o add faz a mesma coisa q o set, mas o set atualiza os valores de uam chave

  • GzipMiddleware: Comprime conteúdos para navegadores que entendem compressão gzip (todos os navegadores modernos).
    É sugerido colocá-lo em primeiro na lista de middlewares, desta forma a compressão do conteúdo de resposta será a última coisa a ser feita. Não serão comprimidos conteúdos menores que 200 bytes, quando o código de resposta for diferente de 200, quando arquivos JavaScript (para compatibilidade com IE), ou quando as respostas possuem o cabeçalho Content-Encoding já especificado.
    ConditionaMiddleware
    Manipula operações condicionais do GET. Se a resposta tem um cabeçalho ETag ou Last-Modified, e a requisição possui If-None-Match ou If-Modified-Since, a resposta é substituída por um HttpNotModified`.
    Também define os cabeçalhos de resposta Date e Content-Length.
  • Monitorar o tempo e de execução de uma determinada eção de código
    fornece indicadores de quanto tempo estão demorando para executar cada trecho de código
  • cProfile: desde a verão 2.5. Escrito em C, baixo overhead, idela para programas extensos
    profile: Interface baseada do cProfile mas em Pythonpuro
    hotshot: escrito em C, o foco é minimizar o tempo de overhead; faz um tempo q naum é atualizado e pode sair nas futuras versões do python
  • cProfile: desde a verão 2.5. Escrito em C, baixo overhead, idela para programas extensos
    profile: Interface baseada do cProfile mas em Pythonpuro
    hotshot: escrito em C, o foco é minimizar o tempo de overhead; faz um tempo q naum é atualizado e pode sair nas futuras versões do python
  • cProfile: desde a verão 2.5. Escrito em C, baixo overhead, idela para programas extensos
    profile: Interface baseada do cProfile mas em Pythonpuro
    hotshot: escrito em C, o foco é minimizar o tempo de overhead; faz um tempo q naum é atualizado e pode sair nas futuras versões do python
  • te vários exemplso de profilings no djangosnippets
  • te vários exemplso de profilings no djangosnippets
  • te vários exemplso de profilings no djangosnippets
  • te vários exemplso de profilings no djangosnippets
  • ncalls: numero de chamadas
    tottime: tempo total gasto na função
    percall: quociente do tottime por ncals
    cumtime: tempo total gasto na função e todas as sub-funções (desde a invocação até o retorno)
    middlewares no djangosnippets

  • prequiçsas: exemplo do all().filter(sss).filter()[:10]
    São avalaidas quando são iteradas, separadas
    cada quary conteum uma cache, e ela fica
  • prequiçsas: exemplo do all().filter(sss).filter()[:10]
    São avalaidas quando são iteradas, separadas
    cada quary conteum uma cache, e ela fica
  • prequiçsas: exemplo do all().filter(sss).filter()[:10]
    São avalaidas quando são iteradas, separadas
    cada quary conteum uma cache, e ela fica
  • só é executado na segunda vez


  • Muitas vezes você não precisa de todos os dados do objeto
    o values() transforam o objeto em uma lista de dicionarios
    o values list, ums lista de tuplas com somente os valores

    Geralmente, usando select_related () pode melhorar consideravelmente o desempenho, pois sua aplicação pode evitar muitas chamadas de dados.No entanto, em situações com conjuntos de relações profundamente aninhadas select_related () às vezes pode acabar seguindo "demais" as relações, e pode gerar consultas tão grande que eles acabam sendo lenta.

  • django-debug-toolbar: ver SQLs
    django-command-extensions: possui o profile através de um servidor, starta o servidor e ele gera os arquivos
  • django-debug-toolbar: ver SQLs
    django-command-extensions: possui o profile através de um servidor, starta o servidor e ele gera os arquivos
  • a Leah flw na sua apresentação






    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×