Here are options which I found: 1- Memcached 2- Varnish 3- Apache mod_cache
Advertências: Você sabe por que sua carga é tão alta? Se a carga é causada pela alta carga de CPU necessária para gerar conteúdo dinâmico e você capaz de servir esse conteúdo de um cache, do que uma solução de cache pode ajudar você. Mas se a carga for causada pela contenção de E / S ou se você estiver servindo conteúdo personalizado que não é passível de armazenamento em cache, solução de armazenamento em cache pode não ajudar muito.
Em geral, um cache precisará de um grande pedaço de memória para ser eficaz. Se o seu sistema já está com memória restrita, então o software de armazenamento em cache poderia, possivelmente, exacerbar o seu problema.
-
Memcached
O Memcached por si só não ajuda você. Ou seja, ao contrário de Varnish e O mod_cache do Apache, o Memcached não é algo que você pode simplesmente suportar na frente de um aplicativo existente.
Memcached é um datastore de chave / valor muito rápido que pode ser usado por aplicações para acelerar uma variedade de operações. Um exemplo comum é um banco de dados que precisa fazer consultas ao banco de dados: se não há problema em armazenar os resultados em cache por algum tempo, os resultados podem ser muito mais rápido pelo memcached do que pela base de dados de backend.
Se a carga do servidor for basicamente o resultado de um código personalizado, modificar seu código para tirar proveito do memcached pode render um benefício substancial.
-
Varnish e mod_cache do Apache
Ambos podem ser usados para acelerar a entrega de dados dinâmicos. conteúdo.
Dos dois, o Varnish é uma ferramenta especializada projetada somente como acelerador de conteúdo. Só faz uma coisa, mas pela reputação faz muito bem. A linguagem de configuração é um subconjunto C que é compilado e carregado no processo de execução do verniz; isto não é bom ou ruim por si só, mas eu prefiro linguagens mais declarativas.
O mod_cache do Apache também pode ser usado como um acelerador de conteúdo. Lá são duas vantagens para o mod_cache:
- Se você já estiver executando o Apache, você estará familiarizado com o configuração usada por mod_cache.
- Você pode combinar o mod_cache com outros módulos do Apache (por exemplo, mod_rewrite e mod_header) para criar um muito flexível configuração.
Por outro lado, seu desempenho pode não ser tão bom quanto fornecido pelo verniz. Eu realmente não tenho números para apoiar isso para cima, mas eles provavelmente estão lá fora (procure por eles - não tome o meu palavra para isso!).
Ambos os produtos funcionam melhor se você ajustar seu aplicativo de back-end para fornecer conteúdo compatível com cache. Isso significa cache apropriado cabeçalhos, nenhum cookie em conteúdo armazenável, max-age ou cabeçalhos de expiração, etc.
Certifique-se de entender seu problema primeiro: descobrir o que está causando a carga alta. Em seguida, tente uma ou mais dessas soluções e veja o que acontece.