Ticket #504 (closed melhoria: fixed)
Verificar melhorias de velocidade no Expresso usando Yslow
Reported by: | amuller | Owned by: | amuller |
---|---|---|---|
Priority: | pequena | Milestone: | Expresso 2.1 |
Component: | API | Version: | trunk |
Severity: | Keywords: | yslow velocidade desempenho | |
Cc: | WorkGroup: |
Description
Elencar e discutir os critérios que o YSlow aponta como vilão do desempenho em módulos do Expresso.
Attachments
Change History
comment:1 Changed 14 years ago by amuller
- Status changed from new to assigned
- Milestone set to Expresso 2.1
comment:2 Changed 14 years ago by amuller
Resultados:
Pagina | Nota |
Tela de login | C |
Calendar | D |
ExpressoMail | E |
ContactCenter | E |
O que não vai ser mechido:
Pagina | Problema | Solução |
Tela de Login | Grade F on Add Expires headers | Deve ser configurado no serviço |
Tela de Login | Grade F on Configure entity tags (ETags) | Deve ser configurado no serviço |
Tela de Login | Grade F on Compress components with gzip | Deve ser configurado no serviço |
ExpressoMail | Grade F on Compress components with gzip | Deve ser configurado no serviço |
ExpressoMail | Grade F on Minify JavaScript and CSS | There are 6 components that can be minified orbited/static/Orbited.js, orbited/static/protocols/telnet/telnet.js, orbited/static/json2.js, 8000/static/JSON.js |
ExpressoMail | Grade F on Use cookie-free domains | Colocar imagens fora do domínio principal, deve ser configurado no serviço |
ExpressoMail | Grade F on Add Expires headers | Deve ser configurado no serviço |
ContactCenter | Grade F on Add Expires headers | Deve ser configurado no serviço |
ContactCenter | Grade F on Compress components with gzip | Deve ser configurado no serviço |
O que pode ser mechido:
Pagina | Problema | Solução |
ExpressoMail | Grade F on Put CSS at top | |
ExpressoMail | Grade F on Make fewer HTTP requests | This page has 33 external Javascript scripts, 7 external stylesheets, 9 external background images. |
ContactCenter | Grade F on Put CSS at top | |
ContactCenter | Grade F on Put javascript at bottom |
Fora isso estou anexando um gráfico do tipo pizza que mostra que 80% do trafego de carregamento do ExpressoMail? é javascript, que pode ser melhorado com compactador.
comment:3 follow-up: ↓ 6 Changed 14 years ago by rodsouza
Mesmo tendo sido "modulado", o que foi ressaltado ocorre em todo o ExpressoLivre?.
Por exemplo o uso da compressão não existe em nenhum lugar.
O Apache utiliza o módulo "Deflate" para isso. No meu ambiente de desenvolvimento está configurado da seguinte forma:
LoadModule deflate_module modules/mod_deflate.so DeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate CustomLog logs/deflate_log deflate
comment:4 Changed 14 years ago by amuller
r1494 faz o que é possível com ordem de css e js sem estragar o ContactCenter
comment:5 Changed 14 years ago by amuller
Eu não estou testando no meu local. To testando no expresso.celepar.parana
comment:6 in reply to: ↑ 3 Changed 14 years ago by rodsouza
Replying to rodsouza:
LoadModule? deflate_module modules/mod_deflate.so
DeflateFilterNote? Input instream
DeflateFilterNote? Output outstream
DeflateFilterNote? Ratio ratio
LogFormat? '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog? logs/deflate_log deflate
Faltou as linhas...
SetOutputFilter DEFLATE # Don't compress images SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
comment:7 Changed 14 years ago by gustavoliden
Alguém testou o deflate com o IE6??
aqui no Serpro estavamos tendo alguns problemas e por isso tiramos....
estamos testando uma nova regra, agora sem gzip para o IE6... segue abaixo...
AddOutputFilterByType? DEFLATE text/html text/plain text/xml text/css AddOutputFilterByType? DEFLATE application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType? DEFLATE application/javascript application/x-javascript
BrowserMatch? Mozilla/4 gzip-only-text/html BrowserMatch? Mozilla/4\.0[678] !no-gzip BrowserMatch? \bMSIE no-gzip gzip-only-text/html # IE5.x and IE6 get no gzip, but allow 7+ BrowserMatch? \bMSIE\s7\.0 !no-gzip # IE 6.0 after SP2 has no gzip bugs! BrowserMatch? \bMSIE.*SV no-gzip # Sometimes Opera pretends to be IE with "Mozila/4.0" BrowserMatch? \bOpera !no-gzip Header append Vary User-Agent env=!dont-vary
comment:8 Changed 14 years ago by wmerlotto
Também utilizo o mod_deflate aqui e funciona muito bem. Segue minha configuração:
<IfModule mod_deflate.c> SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-httpd-fastphp AddOutputFilterByType DEFLATE application/x-httpd-eruby AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript # Use low settings for compression to make sure impact on server is low DeflateMemLevel 2 #Highest 9 - Lowest 1 DeflateCompressionLevel 9 #Optional #Skip browsers with known problems BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # properly handle requests coming from behind proxies <IfModule mod_headers.c> # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule> SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary </IfModule>
Obs.: Pessoal, por favor, só coloquem código e/ou configurações conforme a formatação do wiki? do TRAC, que também vale para os tickets.
comment:9 Changed 14 years ago by amuller
De fato, usando o deflate os js passam de 700kb pra 150kb.Nem precisaria de compactador, no máximo seria para esconder o código do usuário.
Outra coisa que daria pra fazer é trabalhar no tamanho das imagens, pelo que notei usar jpg com perdas é muitas vezes menor que png. Benefício que pagaria o custo (dependendo do tamanho nem se vê diferença).
comment:10 Changed 14 years ago by gustavoliden
Alguém já tentou usar cache nessas imagens?
comment:11 Changed 14 years ago by amuller
- Status changed from assigned to closed
- Resolution set to fixed
Sim! por isso que eu diminui só as maiores mesmo. r1495 faz a correção
Como o que foi possível fazer da parte de código já foi feito, e como já foi demonstrado as melhorias da parte de serviço estou fechando o ticket.