Ottimizzazione di Apache e MySQL su Linux Xen VPS


10

Ho un server privato virtuale Xen (VPS) con Ubuntu 8.10, con 128 MB di RAM.

Ho trovato diverse pagine "come ottimizzare Apache e MySQL per VPS a bassa memoria" tramite Google, ma forniscono informazioni contraddittorie. Quindi sto chiedendo Server Fault: come si fa ad ottimizzare Apache e MySQL per una configurazione VPS a memoria ridotta?


Un paio di persone hanno suggerito di usare nginx invece di Apache. Lo esaminerò, ma preferirei restare con Apache, se possibile, solo per evitare di dover imparare tutto sulla configurazione degli stack di applicazioni su un server Web sconosciuto (per me).

Risposte:


7

Nginx è fantastico, ma se vuoi rimanere con Apache, è possibile ridurlo un po 'dalle impostazioni predefinite:

  • Utilizzare MPM worker anziché Prefork (con worker MPM Apache non ha più un modello di "processo per connessione").
  • Guarda tutti i moduli condivisi che stai caricando, sbarazzati di quelli che non ti servono.
  • Evita di incorporare i server delle applicazioni in Apache (es. Mod_python, mod_php, ecc.) Se puoi evitarlo. Invece, esegui i server delle applicazioni in un processo separato e disponi di un proxy Apache (ad esempio, per il codice Python usa mod_wsgi in modalità demone). In questo modo i tuoi thread Apache che servono semplicemente contenuti statici non saranno gonfiati inutilmente.
  • Nella configurazione di Apache, ridurre le impostazioni StartServers, MaxClients, MinSpareThreads e MaxSpareThreads. A seconda del carico previsto, a volte è possibile ridurli di un fattore pari o superiore a cinque rispetto alle impostazioni predefinite.

2

Se hai problemi di memoria, consiglierei di usare nginx come alternativa, se possibile. Consuma molta meno memoria di Apache e in base alle tue esigenze potrebbe essere tutto ciò di cui hai bisogno.

Come bonus, nginx tende ad essere significativamente più veloce di Apache. =)


2

Ditch apache, il processo per modello di connessione non funzionerà con il tuo VPS a memoria insufficiente.

Suggerisco nginx in sostituzione.


4
Questo è solo un problema per 1.3. apache 2.x consente moduli di processo plug-in incluso MPM che esegue molti thread in un numero limitato di processi. Tutto sintonizzabile a piacere
Vagnerr

Sì, ma nginx sarà ancora un processo più piccolo
Dave Cheney,

2
Sì, ma non è quello che hai detto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.