Jump to content
Fórum Script Brasil
  • 0

Salvar dados dinâmicos em página estática


mateusmoraes

Question

Tenho um site que, através de uma função, mostra os 10 links que possuem mais visitas nas últimas 24h. Até aí, nenhum problema. Mas como esse site recebe em torno de 5000 visitas diárias estou tendo problemas de performance no servidor, já que são muitas requisições ao banco de dados para buscar os mesmos registros simultaneamente.

Tentei utilizar o recurso de cache, mas os dados não eram atualizados com freqüência - o que é um problema.

Pensei em puxar esses dados a cada 5 minutos via CRON e salvar num arquivo HTML estático. A partir daí seria necessário apenas fazer um include deste arquivo nas páginas dinâmicas do site.

Minhas dúvidas:

1) Esse método pouparia o servidor?

2) Como é possível salvar dados dinâmicos (PHP + MySQL) num arquivo HTML estático? Não preciso necessariamente de um código para isso, apenas uma diretriz para que eu possa pesquisar.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

1 - Sim, já que a quantidade de requisições vai diminuir

2 - fopen/fwrite/fclose... com essas funções você escreve em arquivos

Uma solução seria utilizar conexões persistentes, assim uma mesma conexão seria usadas várias vezes, claro que se você for ter 5000 conexões abertas vai dar pau do mesmo modo... mas se for bem balanceado durante o dia, já resolve em parte o problema...

Link to comment
Share on other sites

  • 0
1 - Sim, já que a quantidade de requisições vai diminuir

2 - fopen/fwrite/fclose... com essas funções você escreve em arquivos

Uma solução seria utilizar conexões persistentes, assim uma mesma conexão seria usadas várias vezes, claro que se você for ter 5000 conexões abertas vai dar pau do mesmo modo... mas se for bem balanceado durante o dia, já resolve em parte o problema...

Obrigado pela resposta.

Atualmente uso o DreamHost como servidor e lá eles bloqueiam fopen, fwrite e fclose. Vou tentar com o file_put_contents, mas acho que vai dar problema de permissão.

Acho que usar conexões persistentes vai ajudar, mas em algum momento pode formar um gargalo de solicitações.

Alguma outra maneira possível?

Link to comment
Share on other sites

  • 0

nunca pensei q falaria isso... mas com asp você pode gerar um XML e escrever dentro de um XML

detesto asp! mas esse é um ponto legal dele! outra coisa q você pode fazer também é tentar fazer com que liberem pra você os ponteiros de PHP no servidor...

se o servidor for linux você pode entrar nele pelo console e criar uma pasta com permissões de escrita/leitura

Link to comment
Share on other sites

  • 0
nunca pensei q falaria isso... mas com asp você pode gerar um XML e escrever dentro de um XML

detesto asp! mas esse é um ponto legal dele!

Isso me deu uma luz. Um feed RSS nada mais é do que um XML, correto? Acho que consigo criar um feed desse top 10 de links. Mas os feeds, de maneira geral, são dinâmicos ou estáticos?

Se for uma boa idéia usar o feed RSS ao invés da função ou do fopen/fwrite/fclose, como posso fazer para personalizar a exibição dos dados, como na figura abaixo?

Minha dúvida maior é quanto à exibição da contagem de visitas relacionadas ao link. A solução mais prática seria texto puro - exemplo: "Link para o site A (5071 visitas)". Mas esteticamente preciso que seja como na figura.

exemplofeedzy8.gif

Edited by mateusmoraes
Link to comment
Share on other sites

  • 0
Eles bloqueiam fopen()??? Isso é ridículo cara! Muda de servidor correndo!!

Se o problema é de permissão, você resolve alterando o CHMOD pelo FTP. Até no IEca da pra fazer isso...

Abraço

Eles bloqueiam por padrão, por motivos de segurança. Acho que até dá para liberar isso, mas teria que compilar o PHP por mim mesmo diretamente no servidor. Como uso apenas como servidor de testes, não me preocupo tanto.

Ainda em tempo: sobre o termo "permissão", me referia à "permissão de usar fopen()" e não "permissão de arquivos (CHMOD)".

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...