Ir para conteúdo

POWERED BY:

Arquivado

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

Freelife

Contagem errada

Recommended Posts

Então galera, não deu certo ainda...

 

A situação é mais complexa do que simplemente contar como o Bru_ce falou, preciso contar as visualizações de imagem mesmo. Mas para ter uma noção do tamanho da questão... Ontem um site no qual tenho uma imagem e estou testando, pelo Analitycs contabilizou 10.000 visitas e as visualizações de banner deu somente 3.070.

 

Então a coisa está realmente errada.

 

Alguma outra idéia?

 

Alguém chegou a ver o script?

 

Abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você está fazendo assim (chamando a mesma imagem duas vezes):

 

<img src="imagem.php?img=10" /> <img src="imagem.php?img=10" />

 

faça uma função que gere um número ou hash único:

 

function img_hash(){
 return md5(uniqid(rand(), true));
}

 

e depois mude seu código para:

 

<img src="imagem.php?img=10&hash=<?=img_hash()?>" /> <img src="imagem.php?img=10&hash=<?=img_hash()?>" />

 

Devido o script fazer o navegador chamar a mesma imagem pode ser que ele chame a primeira e a outra não chame por conta de cache do navegador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você está fazendo assim (chamando a mesma imagem duas vezes):

 

<img src="imagem.php?img=10" /> <img src="imagem.php?img=10" />

 

faça uma função que gere um número ou hash único:

 

function img_hash(){
 return md5(uniqid(rand(), true));
}

 

e depois mude seu código para:

 

<img src="imagem.php?img=10&hash=<?=img_hash()?>" /> <img src="imagem.php?img=10&hash=<?=img_hash()?>" />

 

Devido o script fazer o navegador chamar a mesma imagem pode ser que ele chame a primeira e a outra não chame por conta de cache do navegador.

 

 

Entendido, porém, as imagens são diferentes, exceto é claro nas outra páginas onde a mesma imagem aparece...

 

vamos lá... acho que logo chegaremos a uma solução.

 

Obrigado pela ajuda a todos desde já.

 

Abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera, blz?

 

Vou ressuscitar o tópico...

 

Seguinte, no insert da tabela está levando 68 segundos para inserir uma linha somente. Isso pq são muitos acessos simultâneos e a tabela é InnoDB, então, acredito que os insert's fiquem na fila aguardando, não tenho certeza disso.

 

Será que alguém tem uma idéia para melhorar o desempenho disto?

 

Se precisarem de mais detalhes é só avisar.

 

Att.

Freelife

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem alguns procedimentos que podem ser feitos, como indexes, otimização de tabelas, entre outros.

 

Caso deseje acelerar somente esse processo de insert, você pode colocá-lo em modo de alta prioridade (HIGH PRIORITY) e assim, ele ignorará a fila de queries e será a primeira query a ser executada. É uma possibilidade.

http://dev.mysql.com/doc/refman/5.1/en/insert.html

 

Há também, segundo ouvi falar, uma diretiva/opção que dá ênfase aos inserts (em todos eles). Ouvi isso de um case de um sistema que realizava consultas demais ao SGBD sem necessidade. Então o insert foi priorizado.

 

Basicamente o que acontecia era a "síndrome do burro do Shrek". Enquanto estava sendo inserido um registro, o sistema perguntava 10 vezes em um segundo: "Já está pronto?".

 

Enquanto o insert que era demasiado grande (demorava em torno de 5 minutos) a diferença caiu para segundos. Não preciso nem dizer que o sistema era horrível, mas foi a solução.

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.