Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Coelho2

Avaliação/Melhoria de Site

Recommended Posts

Tenho esse site que estou querendo melhorar

http://www.zonadownload.com.br/

 

Quero pedir aos usuarios e administradores para que me ajudem a melhorar o site para ter uma excelente leitura pelos buscadores e que esteja entre as primeiras paginas.

 

Eu fiz uma limpeza dos codigos pelo site http://validator.w3.org

 

mas quero ainda pedir para que voces me ajudem a melhorar esse site o maximo possivel.

 

Todas sugestões serão bem vindas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha estas dicas

 

Nao se deve usar Server.Mappath com o caminho absoluto

 

Prejudica: O Server.Mappath mapeia um caminho virtual então não é recomendado a utilização do mesmo indicando o caminho físico dentro de sua sintaxe, já que o resultado do mapeamento será este mesmo caminho.

 

Solução: Corrigir esses erros para uma sintaxe correta, como no exemplo abaixo:

 

<%

Server.MapPath("test.asp")

 

Server.MapPath("diretorio/test.asp")

 

Server.MapPath("../diretorio/test.asp")

%>

 

 

Conexao - nome_da_variavel - aberta novamente com o mesmo nome. Por favor cheque se está correto

 

Prejudica: Não é necessário criar por mais de uma vez conexões com o mesmo nome, já que possivelmente esta conexão está fazendo o acesso a mesma base de dados. O problema é o desperdício de recursos de servidor, prejudicando a performance do seu site.

 

Solução: Conexões OLEDB permitem que você feche a conexão e reabra a mesma antes de destruí-la. Sugerimos ao invés de criar a conexão, fecha-la, abrí-la e depois refazer todo este processo. Faça isso somente com uma única conexão como no exemplo a seguir:

 

<%

”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\home\LOGIN_DE_FTP\dados\BANCO.mdb;Persist Security Info=False;”

Set Conexao = Server.CreateObject("ADODB.Connection")

Conexao.Open ConnString

Set Registros = Server.CreateObject("ADODB.Recordset")

Registros.Open "Clientes", Conexao

 

Código ASP

 

Registros.Close

Conexao.close

 

Código ASP

 

Conexão.Open

Registros.open "nova_query", Conexao

 

Código ASP

 

Registro.close

Conexao.close

Set Registros=nothing

Set Conexao=nothing

%>

 

Isso também é válido para os Recordsets utilizados em seu script e minimiza a quantidade de conexõs e recordsets utilizados !

 

 

Objeto nao foi destruido ao fim do arquivo !! - Variavel - nome_da_variável

 

Prejudica: Assim como conexões, os objetos ADO criados em seu script devem ser fechados e destruídos para que eles não fiquem dentro do servidor. Isso além de gerar queda na performance poderá impedir que você faça o download de sua base de dados (MS ACCESS) já que existirá um recordset ativo em que esta base irá entender que está ativa ou então deixar um outro objeto ADO existente dentro do servidor, que não será mais utilizado.

 

Solução: Fechar e destruir os objetos criados assim que os mesmos terminarem de ser utilizados.

 

 

Utilizacao de On Error Goto ou On Error Resume Next. Programacao nao aconselhada. Checar se e realmente necessario !

 

Prejudica: O uso deste tratamento de erro pode dar enorme queda na performance das páginas. Um exemplo é se for utilizado em um script onde é aberta uma conexão que dá erro por algum motivo e usando o On Error para tratar o script, este vai para o próximo passo, ignorando o erro mas caso uma conexão ou recordset já esteja aberto, estes irão prosseguir com o processamento prejudicando o servidor.

 

Solução: Sempre será alertado em seu ODP a utilização desta prática de programação. Sugerimos utiliza-la somente quando realmente não houver uma outra alternativa e criar uma condição onde assim que identificado o erro todos os objetos e conexões sejam destruídos.

 

<%

On Error Resume Next

 

Código ASP

 

If err.number <> 0 Then

 

Fecha e destrói todos os objetos e conexões que foram criados

 

End if

%>

 

Atenção ! - O sucesso desta solução dependerá da lógica desenvolvida. O ideal é não utilizar esta forma de tratamento de erro.

 

 

Uso do objeto ASPUpload. Objeto nao recomendado. Veja SAFileUp em nosso site.

 

Prejudica: Em nossos servidores Windows 2000 Server não possuímos o componente AspUpload, já que a performance apresentada por ele não é satisfatória. Este componente apresentava um bom rendimento em plataformas Windows NT e como estamos substituindo todos os servidores que possui esta plataforma para Windows 2000 Server, sua utilização não será possível. Essa substituição se deve a Microsoft não mais oferecer suporte a esta plataforma, como patches de atualização e de segurança.

 

Solução: Uma solução paliativa é a utilização do Componente SAFileUP que apresenta um excelente rendimento, desde que utilizado e programado de forma correta em seu script. Veja um exemplo através do link http://ajuda.locaweb.com.br/pt-br/Safileup

 

 

Mais de 5 Recordsets abertos na mesma pagina ! Verifique se e necessário

 

Prejudica: Instanciar vários recordsets em um mesmo script irá causar além de lentidão a possibilidade de derrubar nossos servidores, dependendo da query, da base de dados utilziada e do tamanho que esta base possui.

 

Solução: Verificar se todos os Recorsets criados são realmente necessários. Uma alternativa é de utilizar o mesmo recordset criado para uma mesma base fechando-o e reabrindo-o com uma nova query e destruí-lo quando a utilização do mesmo não for mais necessária.

 

 

Script \\hmxx\e$/home/login/web/script.asp com Timeout elevado ( > 60) - 10000 !!

 

Prejudica: Nossos servidores possuem o timeout configurado para 30 segundos, tempo suficiente para execução da maioria das tarefas. Um tempo superior a este irá gerar fila de scripts ASP dentro do web server, causando instabilidades em todo o servidor mas ao declarar o timeout em seu script, este prevalecerá em relação a configuração estabelecida dentro do IIS.

 

Solução: Rever as queries e a diagramação da programação desenvolvida, inclusive para uploads e não declarar um valor superior a 30 segundos em seu script. Caso realmente seja necessário um tempo maior é um indício de que sua aplicação necessitará de mais recursos de servidor do que um de ambiente compartilhado proporciona.

 

 

Uso indevido de Driver de Conexao ao Banco de dados !! Deve-se usar OLEDB !!

 

Prejudica: Scripts desenvolvidos em ASP devem utilizar conexões do tipo OLEDB ao invés de ODBC / DSN. A conexão OLEDB gerencia automaticamente os processo de conexões em sua programação aproveitando as conexões abertas em sua aplicação e isso também ocorre ao fechá-la . Desta forma, o acesso a banco de dados estará otimizado, evitando o excesso de aberturas e fechamentos de conexão que ocorreria no código ASP utilizando conexão via ODBC / DSN.

 

Solução: Veja exemplos de conexão nesta página.

 

 

 

Banco de Dados Access com versao inferior a Access 2000. Procure atualizar !!

 

Prejudica: Na utilização de base de dados MS ACCESS aconselhamos a utilizar versões igual ou superior a versão 2000. As versões inferiores oferecem menor performance ao seu site e se corrompe facilmente além de poder apresentar erros se utilizado com o IIS 5 (Windows 2000) que conforme utilização em ambiente web pode não conseguir ser interpretado corretamente pelo web server. Mais informações através do link.

 

Solução: Fazer o upgrade de sua base MS ACCESS para a versão MS ACCESS 2000 ou superior.

 

 

Conexao nao foi fechada !! - Variavel - nome_da_variável

 

Prejudica: Criar conexões e não fecha-las e destruí-las após serem utilizadas acarretará nova perda de performance em seu site. Isso ocorre porque seu banco de dados "entenderá" que novas ações ocorrerão e ficará aguardando as instruções de seu script, que não ocorrerá, já que o mesmo terminou suas tarefas. Com acessos simultâneos isso tende a aumentar essa lentidão, já que várias conexões serão abertas por novos usuários e irão somar-se junto com as que já estão abertas, que o script não destruiu.

 

Solução: Fechar e Destruir todas as conexões que não serão mais utilizadas após o término da execução do script utilizado.

 

 

Nao utilizar VBScript.Encode !! Consumo excessivo de recursos

 

Prejudica: Mesmo sendo possível a utilização do Windows Script Encoder a utilziação deste poderar gerar um pico no processamento dentro dos nossos servidores.

 

Solução: Certifique-se que realmente é necessário seu uso. Geralmente a utilização desta encriptação é utilizada em funções críticas, onde contenha dados como os de usuario e senha de banco de dados.

 

 

Banco de Dados Access - \\hmxx\e$/home/login/dados/nome_da_base.mdb - e maior que 7 Mb !!

 

Prejudica: O banco de dados MS ACCESS não é recomendado para utilização em ambiente web, já que ele é interpretado pelo próprio servidor web. Uma base com mais de 7MB irá levar um tempo excessivo para processar suas queries, mesmo que apenas um consulta simples, prejudicando o desempenho de seu site e do servidor onde ele se encontra hospedado.

 

Solução: Fazer a migração para um banco de dados como o MySQL ou o MS SQL. Além de possuírem um servidor somente para este fim, a performance apresentada por eles é imensamente superior que a do MS ACCESS otimizando a velocidade no processamento das queries e permitindo uma maior rapidez na execução de sua aplicação.

 

 

Objeto Dictionary nao teve itens removidos !! - Variavel - nome_da_variavel

 

Prejudica: O Objeto Scripting.Dictionary armazena os valores adicionados a ele na memória do servidor e caso as mesmas não sejam destruidas irá permancer ocupando lugar na memória do servidor, mesmo não estando em uso.

 

Solução: Uma solução é ao invés de armazenar essas informações em um Scripting.Dictionary, transmitir esses dados através de campos "hidden" através de um formulário. Desta forma evita-se o processamento do servidor e você conseguirá enviar esses valores de uma página para outra.

 

 

Arquivo - \\hmxx\e$/home/login/web/nome_do_arquivo.txt - e maior que 1 Mb !!

 

Prejudica: Desenvolver páginas dinâmicas que façam consultas a arquivos com essas extensões com uma tamanho superior a 1MB irá gerar fila de scripts, além de poder levar a um pico de processamento por parte do servidor causando uma queda significativa na performance do mesmo.

 

Sugestão: Para armazenamento de dados utilize uma base onde você poderá maximizar o desempenho através de queries para uma filtragem mais rápida. Caso seu arquivo .htm ou .html possua mais do que 1MB divida-o em várias páginas ligando-as através de um link ou menu de navegação.

 

 

Banco de Dados Access - \\hmxx\e$/home/login/dados/nome_da_base.mdb - possivelmente corrompido !!

 

Prejudica: Eventualmente, pode ocorrer o corrompimento de sua base de dados MS ACCESS utilizado em servidores web de acordo com a utilização temporária de suas queries, não permitindo que seu script seja executado.

 

Solução: A solução, neste caso é utilizar as próprias ferramentas de reparo e compactação do MS ACCESS para fazer uma tentativa de recuperação. Neste processo alguns dados podem ser perdidos ou mesmo não conseguir recuperar a base atual.

 

 

Variavel de objeto - nome_da_variavel - utilizada em Session/Application !!

 

Prejudica: Armazenar um objeto ADO numa variável Session/Application, manterá um objeto criado aberto continuamente por cerca de 20 minutos fazendo com que a performance se seu site ou aplicação caia, principalmente com o aumento de acessos simultâneos

 

Solução: Crie os objetos diretamente no script que irá utiliza-lo e destrua o mesmo assim que a utilização for concluída.

 

 

SQL se conectando fora da rede - Isso pode causar serias penalizações de performance

 

Prejudica: O Problema com a utilização de uma base MS SQL externa a rede da Locaweb poderá deixar seu site fora com a queda ou instabilidades do mesmo, nos forçando a desativar temporariamente o serviço ASP do seu site para não gerar fila de scripts. Essa fila ocorrerá porque seu script aguardará o retorno das informações do banco de dados levando o próximo script a ser interpretado pelo web server a aguardar o processamento do seu que não ocorrerá, causando instabilidades em todo o servidor onde se encontra sua hospedagem.

 

Solução: Utilizar uma base que esteja sob monitoração 24 horas da Locaweb, já que caso ocorra um problema técnico poderemos encontrar alternativas para que o servidor onde se encontra sua hospedagem não venha a cair ou apresentar lentidão e instabilidades.

 

fonte

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.