Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lote14

[Resolvido] include afeta desempenho.

Recommended Posts

pessoal, beleza?

 

criei um site que já esta no ar 4 meses, to tendo ainda poucas visitas, mas percebo e recebo email que o site está lento demais.

 

correndo por tópicos de como otimizar páginas asp me deparei com algo que eu não deveria fazer, mas o fiz por puro "amadorismo - meu primeiro site".

 

tenho uma página "default.asp" fixa e nela criei um "include" que direciona para outras paginas do site, tipo assim:

 

default.asp

...<div id="corpo">    [b]<!--#include file="direciona.asp"-->[/b]    <%if mostra<>"" then%>    <div id="sub_nav">    <img src="imagem/42.gif" border="0" /> <A href="javascript:history.go(-1)"> Voltar</a>	</div>...

 

direciona.asp

 

 

...if mostra="pagina1" then%><!--#include file="pagina1.asp"--><%end ifif mostra="noticias" then%><!--#include file="noticias.asp"--><%end ifif mostra="form_envia_foto" then%><!--#include file="form_envia_foto.asp"--><%end ifif mostra="envia_foto" then%><!--#include file="envia_foto.asp"--><%end if...
é li que isso afeta o desempenho, e que no meu caso acho que é isso.

 

e o server antes de executar as páginas asp leem todos os includes primeiro, quer dizer ai só postei um trecho do "direciona.asp" mais deve ter mais uns 10 if desse ai.

 

pergunta, como geralmente a maioria dos desenvolvedores estruturam seus sites, gostaria de saber?

 

e também ideias de como eu consertar isso. tudo bem com "sub" .

 

mas na prática alguem poderia colocar em código que fica melhor de entender.

 

valeu Imagem Postada galera to aguardando.

 

ah! o site é esse testem lá e vê se não esta lento?

 

www.gabarite.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

a criação / desenvolvimento vai de acordo com o projeto; pequeno, medio ou grande

 

desenvolvi um de grande porte da +- seguinte maneira

 

 

 

 

1. separado por pastas / categorias

 

2. cada categoria - include menu, topo e rodape apenas

 

3. include topo apenas com verificação session(login) e rodape apenas com html + conteudo xml

 

4. menu montado via xml e/ ou tbl-temp

 

 

 

 

medido pelo webwait, carrega em menos de meio segundo

 

sei que não é uma medição fiel, mas da pra ter uma ideia, mesmo com meu 'contador de tempo' em asp da +- isso

 

 

 

 

você terá que reformular tudo se quiser obter bons resultados

 

uma saida é usar js pra carregar as paginas como envio de foto

 

formularios podem ser jogados em uma função e formata-los para que sejam mais similares entre si, assim você terá menos forms

 

 

 

 

tenho comentarios em 7 categorias diferentes, 5 são padrão e os outros 2 tb são iguais; tenho apenas 2 tipos de formularios de comentario que são distinotos entre si

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que eu saida include não deixa o site lento.

 

Quando eu uso include sempre no arquivo principal eu começo abrindo a conexão, insiro os includes e no final do msm arquivo eu fecho.

 

Lembre-se tudo que você abrir você terá que fechar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que eu saida include não deixa o site lento.

 

uso indiscriminado de include deixa o site lento com queda de performance

 

 

pode não ser perceptivel um include pequeno

Compartilhar este post


Link para o post
Compartilhar em outros sites

e o server antes de executar as páginas asp leem todos os includes primeiro

Correto. Por isso pode afetar o desempenho. Tudo vai depender do que você tem nas demais páginas incluídas. Pois se você tem 100 páginas, o código das 100 serão lidas pelo servidor.

pergunta, como geralmente a maioria dos desenvolvedores estruturam seus sites, gostaria de saber?

Utilize Server.Execute ao invés de #include. Provavelmente você terá que alterar a sua programação, pois o Server.Execute não permite acesso as variáveis da "página pai".

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente necessário varios includes e if´s ?

 

Ou montou isso porque estava com preguiça de fazer 3 ou 4 paginas a mais ?

 

Código limpo e leve ajudam sempre.

 

Tenha sempre em mente que o site hoje pode ter 50 acessos por semana / mês, mas pode também ser um site com 50 acessos por minuto e se o codigo estiver mal feito, pode ter um servidor (ou varios) dedicados só a esse site, que vai continuar lento.

 

Além disso, não tem loop´s perdidos e demorando para exibir o que foi solicitado ? Ou em loop infinito ?

 

Reveja seu código, mas olhe como se fosse de outra pessoa (um concorrente) quais são os defeitos que você encontra ? Onde pode ser melhorado ? Como otimizar o código para melhorar sua peformance no lado servidor ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Ou montou isso porque estava com preguiça de fazer 3 ou 4 paginas a mais ?"

 

é meu primerio site.

 

fui montando achando que assim ficava mais organizado.

 

uma pagina default.asp que no meio dela tem um include "direciona.asp"

 

exemplo:

 

if mostra="contato" 

include contato.asp

end if 

if mostra="sobre" 

include sobre.asp

end if 

if mostra="principal" 

include principal.asp

end if

mas vi que isso e muito ruim pois o server le todas as includes primeiro.

 

pensava que ele so lia a include em que if fosse verdadeiro.

 

coisa de principiante, mas agente vai aprendendo...

 

vou fazer o seguinte as paginas que precisam de parametros deixo os includes, as que não necessitam (contato, sobre,regras...) vou colocar server.execute.

 

 

ai mais tarde vou pegar esse codigo e restruurar tudo.

 

ah! o site é este aqui www.gabarite.com.br quem quiser dar uma olhada lá pra ver seu desempenho.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahhhh entendi.

 

Você pode colocar o menu no banco de dados por ex:

id nome link ativo

01 contato contato.asp x

02 links link.asp

 

onde o ativo é um campo s/n

na hora de exibir o menu, você dá um select com where ativo=true

ai só exibe o menu que estiver ativo, isso pode ser util tanto para exibir link para uma pagina de promoções, por exemplo, que são feitas de tempos em tempos, e você só precisaria ativa-lo para ser visto no menu de todo o site.

 

Também é util para aquela pagina que já está pronta, mas não desejam exibir já no site, seja porque é um produto que ainda será lançado, seja porque precisa da aprovação de alguem, e depois de aprovado, ao invés de alterar trocentas paginas para colocar uma linha a mais no menu, bastam 2 cliques para exibir isso em todo site.

 

Pessoalmente, só uso include para conectar com o banco de dados, e em casos muito raros, chamo include para outras coisas.

 

Um coisa que sempre faço, é ter um rascunho do site em papel, com mais ou menos o layout que ele vai ter, onde marco as areas com um numero:

1) area dos menus

2) area da busca

3) area do texto

 

e por ai vai, ai depois noutra parte do papel (uso papeis de 90cm) coloco:

1) menus

O menu será composto por 5 areas principais contendo cada area principal mais 3 submenus.

Como armazenar isso ? banco de dados ? se for bd qual o modelo/relacionamento ?

include seria mais eficiente ?

Usar css ou imagens ?

Menu feito com flash ?

 

E assim vou anotando tudo e depois de várias anotações, riscos, rabiscos e transformar o papel quase no arco-iris, pois vou trocando de cor, chego ao modelo mais "eficiente" para aquele site/sistema que também tem que ser feito pensando-se no publico alvo do site (não adianta fazer algo usando fonte pequena se é para um publico que prefere um fonte maior.)

 

Ai começo a desenvolver, claro que esse não é um modelo 100% preciso, sempre tem itens que não foram pensados no inicio do projeto, ou o cliente pede para adicionar ou retirar alguma coisa, mas serve para ter um bom parametro de como começar e de errar menos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este linksobre algumas dicas de otimização...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza pessoal, eliminei alguns includes e modifiquei a estrutura do site.

 

estava assim

 

html

abro conexao

.

.

.

direciona.asp "dentro deste include tinha outros includes que eram direcionados por ifs para pagina selecionada (paginas de home, contato, sobre, etc...)"

.

.

.

fecho conexao

html

 

 

agora esta assim

 

topo.asp

 

.

.

.

abro conexao

html "paginas de home, contato, sobre, etc..."

fecho conexao

.

.

.

baixo.asp

 

ai uso essa estrutura em todas as paginas

 

 

valeu, pessoal pela ajuda e esclarecimentos, aos pouquinhos agente vai melhorando... Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK,amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.