PDA

View Full Version : Apache2 su Debian: threads pesanti


demos88
04-09-2009, 22:13
Salve,
da un po' di tempo ho un vps debian di profilo molto basso (CPU condivisa, 256MB garantiti 512MB di picco, 5Mbit di banda).
Il server lo uso per lo più per hostare un sito web (e mysql al quale ho disabilitato l'engine InnoDB = risparmiati quasi 100MB di ram...) e un server ts non troppo trafficato...
Il problema è che l'apache è veramente pesante... so che apre un thread per ogni web client, potrei capire se il thread pesasse sui 10MB (come ho visto scritto in giro per il web), purtroppo però i thread sul mio vps pesano dai 38MB in su l'uno... ho disattivato tutte le estensioni che non uso, eppure pesa ancora tantissimo...
Ho già cercato di ottimizzare l'apache riducendo i tempi di timeout ecc... però 40MB per ogni thread rimangono, a mio parere, troppi.
Senza cambiare il server web (ho provato anche lighttpd ma ho perso ore non riuscendo a farlo funzionare), sapete dirmi come riuscire a tagliare drasticamente la dimensione di questi htread?
grazie.

dennyv
05-09-2009, 15:57
Immagino tu abbia mod_php attivo.

Il problema potrebbe essere proprio quello (almeno uno dei principali): mod_php.
Con mod_php ogni istanza di apache si porta dietro php anche se in realtà sta servendo contenuto statico (immagini, html liscio ecc..).

Una buona soluzione è convertirsi all'uso di mod_fcgid: in questo modo rimangono x processi residenti di php (x è configurabile) che vengono chiamati qualora venga chiesto l'interprete php (fino a un max di x contemporanei).
In questo modo puoi limitare il numero di processi php (a leggero discapito delle prestazioni) e soprattutto le istanze di apache son molto più leggere (togli tutti i mod_ che non ti servono) essendo solo il webserver.

Altrimenti lighttpd: occhio che non supporta direttamente mod_rewrite e .htaccess (così intesi nel formato apache), però è molto leggero e scalabile (e anche esso usa fastcgi per php).

Fai delle prove, se cerchi apache php fcgid con google ne trovi a bizzeffe di guide.

Occhio, usa mod_fcgid e non mod_fastcgi: il primo è più configurabile e semplice da impostare, inoltre il secondo e legacy e non lo trovi più nei rep.

Ciao!