Ir para conteúdo

POWERED BY:

Arquivado

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

IsmaelAndres

Gravar informações de TODOS os visitantes

Recommended Posts

Olá.

 

Estou planejando um sistema para colocar em meu site, onde ele registra as ações dos visitantes. Mas preciso saber se é viável antes de começar a programar.

 

Quero pegar as seguintes informações de casa visitante:

ip, navegador, sistema operacional, resolução da tela, data, hora, paginas vistas, de onde veio a visita, quantidade de visitas

 

Estou pensando em salvar essas informações em um banco de dados Mysql e gravar um cookie com o id do visitante para contabilizar a quantidade de visitas.

Considerando que o site tem em média 200 visitas por dia, serão 6.000 registros por mês e 72.000 registros por ano. Minhas duvidas são as seguintes:

 

Tem como programar o Mysql para gravar no máximo 12.000 registros e depois ir substituindo os valores automaticamente?

Sistemas como o Google Analytics salva todas aquelas informações em bancos de dados ou é outro sistema? XML, sei lá

Toda página terá que ter uma operação de INSERT para gravar as informações desse visitante no BD, isso vai tornar o carregamento da página mais lento?

Quando tiver 12.000 registros uma simples operação de INSERT deixa o sistema mais lento do que se tiver 200 registros?

 

A opinião de vocês é importante.

Valew.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou me arriscar a responder... Não tenho certeza de algumas coisas! xD

 

Tem como programar o Mysql para gravar no máximo 12.000 registros e depois ir substituindo os valores automaticamente?

Direto no MySQL talvez tenha com procedures, mas acho muito complicado pra idéia do sistema... Você pode fazer um query pra deletar os registros que são mais antigos que dois meses que resolveria o seu caso... =)

 

Sistemas como o Google Analytics salva todas aquelas informações em bancos de dados ou é outro sistema? XML, sei lá

Quase certeza que é em um banco de dados... um não, vários.. mas é em banco de dados (não em XML)..

 

Toda página terá que ter uma operação de INSERT para gravar as informações desse visitante no BD, isso vai tornar o carregamento da página mais lento?

Sim, mas se o servidor SQL for no mesmo servidor que o site isso não deixar o site lento...

 

Quando tiver 12.000 registros uma simples operação de INSERT deixa o sistema mais lento do que se tiver 200 registros?

Acho que não. É bem provavel que não... Um Isert só agrega dados.... Já o select pode ficar um pouco mais lento, mas você não vai sentir muito diferença..

 

Como ouvi uma vez aqui no fórum, passo pra você: banco com 10~20 mil entradas é fichinha... tem banco por aí com milhões de entradas...

 

 

Espero ter ajudado! ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou me arriscar a responder... Não tenho certeza de algumas coisas! xD

 

Tem como programar o Mysql para gravar no máximo 12.000 registros e depois ir substituindo os valores automaticamente?

Direto no MySQL talvez tenha com procedures, mas acho muito complicado pra idéia do sistema... Você pode fazer um query pra deletar os registros que são mais antigos que dois meses que resolveria o seu caso... =)

 

Sistemas como o Google Analytics salva todas aquelas informações em bancos de dados ou é outro sistema? XML, sei lá

Quase certeza que é em um banco de dados... um não, vários.. mas é em banco de dados (não em XML)..

 

Toda página terá que ter uma operação de INSERT para gravar as informações desse visitante no BD, isso vai tornar o carregamento da página mais lento?

Sim, mas se o servidor SQL for no mesmo servidor que o site isso não deixar o site lento...

 

Quando tiver 12.000 registros uma simples operação de INSERT deixa o sistema mais lento do que se tiver 200 registros?

Acho que não. É bem provavel que não... Um Isert só agrega dados.... Já o select pode ficar um pouco mais lento, mas você não vai sentir muito diferença..

 

Como ouvi uma vez aqui no fórum, passo pra você: banco com 10~20 mil entradas é fichinha... tem banco por aí com milhões de entradas...

 

 

Espero ter ajudado! ^^

 

Valew aí ~TiuTalk~

A primeira questão é fácil, posso colocar um script na página do admin que deleta os registros mais antigos, isso mantém menos registros o que garante SELECTs mais rápidos.

 

Alguém mais se acusa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho mais uma dúvida, pra não abrir um novo tópico aí vai:

 

Estou pensando em fazer o seguinte:

Quando o visitante entrar no site, vou colocar um if para checar se existe um cookie com sua id, se existir o site irá usar o numero do ID para fazer uma consulta no BD, pegar os campos de qnt de visitas e inserir +1 e marcar essa página no campo paginas vistas.

Só que essa rotina eu terei que fazer em todas as páginas: pegar o id, fazer a consulta no banco de dados e gravar.

 

Tem alguma maneira de eu marcar as páginas que ele visitou numa variavel de seccao e quando o usuario SAIR do site o PHP faz a rotina de gravar a variavel de sessao no BD???.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o melhor eh fazer por select, pq o cookie tem tempo de vida util...

mas de qualquer forma, tem como pegar uma variavel de sessão e gravar o valor dela no banco de dados quando ela for destruída?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ismael, esse tipo de aplicativo, é complicado.

 

depende muito do suporte de um servidor pra outro

 

quando mudar de server pode nao funcionar muito bem

 

só dá trabalho..

 

se puder, utilize o Google Analytics

 

ou pegue um sistema chamado "Urchin", "AWStats", "webaliser"

 

aliás, o urchin foi comprado pelo google..

 

 

se pretende fzer mesmo... calcule um espaço maior..

 

200 visitas por dia vão gerar bem mais que 6mil registros por mes

conte a navegação.

Isso depende de cada site.. se tiver uma média de 15 páginas navegadas por visitante já multiplica por 15 o total estimado.

Sem contar os acessos dos bots. Alguns bots estão enviando informações no cabeçalho como se fossem usuarios comuns, pra evitar de serem bloqueados. E isso vai gerando trafego desnecessário e calculando visitas erroneamente.

 

 

quanto ao desempenho.. é bom mesmo extrair dados antigos, e gerar documentos xml já com os devidos calculos e se possível estatíscas pra nao judiar muito do banco de dados em consultas gigantescas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu resolvi implantar um sistema parecido pq o do google não informava ip e hora da visita de cada usuário. Eu queria essa informação para saber qual ip está puxando mais banda. Fiz uma coisa básica, uma código para inserir dados na tabela somente na página inicial do meu site. Eu fiz em fevereiro. Hoje tenho uns 30.000 registro dando 4.0mb. Essa idéia de update sobrecarregaria então não acho uma boa idéia. Acho melhor só ir inserindo dados infinitamente. Depois você pega uma parte da tabela e salva no seu pc. Hoje eu consigo fazer select rápidos mesmo com 40.000 registros e faço várias outras consultas com estes dados. Pegando palavra-chaves do refer, quebrando e inserindo em outras tabelas. Enfim, é bem simples, só montar uma tabela para inserir os dados e colocar na página inicial. Agora se for para todas as seções, você terá muitos dados e terá que fazer sempre o GROUP nas consultas. se quiser obter certas consultas gerais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente eu uso o google analytics para acompanhar as estatisticas, mas ele mistura todos os usuarios para fazer as estatísticas, por exemplo, você pode saber quantos % usam determinado navegador e tal, mas não tem como pegar um IP e ver o seu navegador, so, refer, etc.. Isso ta faltando.

 

bom.. acho que vou fazer assim:

quando o visitante entrar no site, vai checar se existe uma variavel tipo $_SESSION['visita'] se não existe, vai cadastrar o vivente no BD, se existe, não vai mais fazer nada... com isso vou abrir mão de ver quais as páginas foram visitadas, mas não vou atrapalhar os bots.

 

O que vocês acham?

Compartilhar este post


Link para o post
Compartilhar em outros sites

essas decições dependem da sua necessidade e finalidade de uso dessas ferramentas / técnicas

 

 

por exemplo,

 

se uma das finalidades do uso for para obter relatorio de acessos para entao negociar espaços publicitários você enfrentaria um ponto negativo que é a auditoria.

 

por xemplo

 

eu sou um cliente que deseja fazer veicular um banner no seu site

você mostra um relatorio extraido do seu servidor onde somente você tem controle

como posso confiar que os dados apresentados são verídicos ?

se você tem total controle, pode adulterar para poder vender espaços publicitários

 

precisaria de uma auditoria para comprovar a real quantidade de acessos

 

essa é apenas uma de diversas situações.

 

pense bem nos propósitos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valew aí hinom.

 

Já me decidi, vou usar o google analltycs para acompanhar as estatísticas do meu site. Ele pega as informações de modo mais sintético, mas dificilmente vou precisar de uma análise minuciosa de cada visita.

Com isso ele fica com um código mais curto, menos consultas: fica mais rápido, ocupa menos banda e facilita as manutenções/incrementações.

 

Valew.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok

 

mas também, de qualqur forma desenvolva um controle interno, registrando detalhes minuciosos sobre os acessos

 

é importante guardar ips, proxys, host names, etc..

apenas para controle interno

 

 

bom trampo aí

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também, acho que você deveria ter um sistema paralelo. Como eu disse... Algum dia você precisará saber quem está puxando banda. E dai poderá bloquear facilmente. Além de outros recursos interessantes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.. tenho outros dois controles:

 

O Awstats que registra os logs do servidor (dialhost), já está na ativa.

 

E estou desenvolvendo um cadastro dos visitantes que pedem orçamentos ou maiores informações sobre os produtos que vendo, desse, estou tirando todas as informações que conseguir (ip, so, ref, browser, etc...)

 

Valew. :D

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.