Otimizando recursos para um servidor LAMP de baixa RAM executando o WordPress?

2

Como minimizar o uso de memória no LAMP? Servidor dedicado virtual, com no máximo 512 RAM, 20 GB de espaço em disco, ele deve rodar um blog Wordpress. Não tenho certeza quanto à carga, mas digamos de 2-5k visitantes por dia.

    
por Kazimieras Aliulis 10.05.2009 / 19:57

5 respostas

1

Este link tem mais informações do que todas as respostas recebidas juntas:)

link

    
por 14.05.2009 / 14:53
3

Se você realmente gosta de economizar memória, provavelmente seria melhor substituir LAMP (Linux, Apache, MySQL, PHP) por LLMP ( LigHTTPd em vez de Apache) ou melhor ainda LLSP (Linux, LigHTTPd, SQLite e PHP).

por 11.05.2009 / 10:07
1

Com um máximo de 5k acessos por dia, isso equivale a apenas uma consulta a cada 10 segundos. Não é uma carga enorme. Embora a RAM seja o fator limitador, você provavelmente pode se safar com o swap, dado o volume muito baixo de tráfego que você espera.

Ainda assim, aparar alguma gordura irá percorrer um longo caminho em direção aos seus objetivos. Eu fiz algum trabalho com servidores de pouca memória, mas isso foi há muito tempo. Vou tentar o meu melhor para lembrar. Aqui vai:

  • O truque aqui é minimizar a quantidade de uso do programa residente. Cada programa não apenas pega RAM para armazenar código, mas também consome outros recursos.

  • Primeiramente eu gostaria de remover qualquer ttys desnecessário do / etc / inittab, notificando-os com um hash ( # ). Isso libera meio meg ou mais. Dois consoles devem ser suficientes (o sobressalente está lá, caso o seu shell pare de responder no outro) - lembre-se de logar ambos quando estiver fazendo o trabalho, dessa forma um sistema que não responde não irá bloqueá-lo durante trocas / carregamentos pesados, etc. )

  • Encontre todos os serviços que você não irá usar , e configure-os para não iniciarem a reinicialização (a menos que seja necessário por outra coisa). Isso seria uma boa prática de qualquer maneira para um servidor voltado para o público, pois isso também reduz sua superfície de ataque.

  • Se possível, tente migrar serviços para o inetd / xinetd, ou algum outro superserver, o que, por sua vez, libera a memória de ser usada pelo modelo "residente na memória" mencionado acima.

  • Dada uma unidade de 20Gb, é altamente improvável que você tenha conjuntos extensos de dados para publicar por meio do back-end do banco de dados. Procure dar ao seu banco de dados RAM suficiente para responder a 2 consultas simultâneas, ao mesmo tempo em que lida com três interconexões simultâneas.

  • Se você tiver o GDM / KDM / XDM / qualquer gerenciador de login que esteja sendo inicializado, desligue-o ! Os recursos secundários necessários acabarão entupindo o swapfile e consumindo a preciosa RAM. Faça todo o seu trabalho por meio do SSH ou de qualquer página da Web administrativa que você possa acessar com um navegador.

  • Se você precisar apenas de uma sessão gráfica, procure configurar o VNC como um serviço de área de trabalho remota. Ele só alocará memória quando houver uma sessão ativa. não exponha o serviço VNC para o exterior, você estará pedindo por problemas.

por 10.05.2009 / 21:29
-1

Não execute X, desligue todos os serviços desnecessários e compile o Apache, MySQL e PHP com apenas funcionalidades essenciais.

    
por 11.05.2009 / 14:56
-1

Para aparar o próprio apache, observe os módulos que você está carregando. Há algumas outras boas respostas aqui para memória geral e reduções de carga, então leve isso em conta também. É difícil saber exatamente o que seria bom desativar, mas algumas recomendações que eu faria são:

auth_digest_module - a maioria dos navegadores não oferece suporte a essa forma de autenticação, portanto, é improvável que você a use.

ldap_module , authnz_ldap_module - se você não estiver autenticando contra ldap ou qualquer coisa baseada em ldap, isso não é necessário. Nota: O PHP pode depender disso se você estiver usando suas funções ldap. Eu nunca tentei desativá-las quando estava usando essas funções.

userdir_module - isso já pode estar desativado e deve estar em qualquer site de produção de qualquer maneira

speling_module - este é complicado. Se você desligar isso, seu URL será sensível a maiúsculas e minúsculas. Supostamente isso também "corrige erros de ortografia incorreta", embora eu ainda tenha que ver isso realmente acontecer. Se seus tipos de base de clientes nos urls, eu deixaria isso ligado, caso contrário, provavelmente é seguro desligar.

O Apache tem muita documentação em seus módulos. Eu recomendaria passar por ele e depois de ler a documentação em um módulo, decida se você precisa dele mas somente se você entender completamente o módulo. Alguns deles fornecem funcionalidade essencial muito importante e podem quebrar outras coisas por não estarem disponíveis.

    
por 11.05.2009 / 15:46