Ir para conteúdo
Fórum Script Brasil
  • 0

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


mateusmoraes

Pergunta

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 para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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

Editado por mateusmoraes
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...