É louco para não depender de um sistema de cache como memcached hoje em dia (para sites dinâmicos)?

votos
2

Eu estava revendo um dos aplicativos do meu cliente que utiliza algum quadro php desatualizado antigo que não dependem de caching em tudo e é muito bonito completamente dependente de banco de dados.

Eu acho que eu só vou reescrevê-lo a partir do zero, porque isso é realmente desatualizado e neste reescrita eu quero implementar um sistema de cache. Seria bom se eu pudesse obter algumas indicações se alguém fez isso antes.

  • Rewrite será feito em PHP ou Python
  • Seria bom se eu pudesse perfil antes e após essa implementação
  • Eu tenho meu próprio servidor para que eu não estou restrito por hospedagem compartilhada
Publicado 27/08/2009 em 04:57
fonte usuário
Em outras línguas...                            


4 respostas

votos
9

Caching, quando funciona direito (== alta taxa de acerto), é uma das poucas técnicas de uso geral que podem realmente ajudar com latência - a parte mais difícil de problemas descreve genericamente como "performance". Você pode melhorar QPS (consultas por segundo) medidas de desempenho apenas por jogar mais hardware para o problema - mas a latência não funciona dessa maneira (ou seja, não é preciso apenas um mês para fazer uma bebês se você definir nove mães para trabalhar nele ;-).

No entanto, o principal recurso utilizado pelo cache é tipicamente de memória (RAM ou disco que possa ser). Como você menciona em um comentário que o único problema de desempenho que você observa é o uso de memória, cache não ajudaria: seria apenas destinar uma parte da memória a utilizar para fins de armazenamento em cache, deixando ainda menos disponível como um "fundo geral". Como um residente da Califórnia Estou testemunhando em primeira mão o que acontece quando muitos recursos são destinados, e eu não poderia recomendar um tal curso de ação com a consciência limpa! -)

Respondeu 27/08/2009 em 05:18
fonte usuário

votos
6

Se o seu desempenho do site é bom, então não há nenhuma razão para adicionar armazenamento em cache. Lotes de sites pode passar sem qualquer cache em tudo, ou movendo-se para um cache baseado em arquivos do sistema. É apenas os locais de super alto tráfego que precisam memcached.

O que é "louco" é a arquitetura de código (ou a falta de arquitetura), que faz a adição de armazenamento em cache no último difícil.

Respondeu 27/08/2009 em 05:08
fonte usuário

votos
3

Desde Python é uma de suas escolhas, eu iria com Django. Built-in mecanismo de cache, e eu tenho usado este debug_toolbar para me ajudar durante o desenvolvimento / profiling.

By the way, memcached se não funcionar da maneira que você descreveu. Ele mapeia teclas exclusivas para valores na memória, não tem nada a ver com arquivos .csh ou consultas de banco de dados. O que você armazena em um valor é o que vai ser armazenada em cache.

Oh, e cache só vale a pena se existem (ou será) problemas de desempenho. Não há nada de errado com "não confiar" com caches se você não precisa dele. otimização prematura é de 99% do mal!

Respondeu 27/08/2009 em 05:06
fonte usuário

votos
0

Dependendo da natureza específica dos padrões codebase e de tráfego, você pode até não precisa re-escrever todo o site. Horrivelmente código ineficiente não é um negócio tão grande se ele pode ser contornado através de cache para 99,9% dos pedidos de página.

Ao escolher PHP ou Python, certifique-se de descobrir onde você está indo para hospedar o site (ou se você mesmo começar a fazer essa chamada). Muitos dos meus clientes já estão configurados em um servidor web e Python não é uma opção. Você também deve certificar-se de qualquer banco de dados / programas externos que você deseja interagir com são bem suportados no PHP ou Python.

Respondeu 27/08/2009 em 05:34
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more