Newsgroup: it.comp.os.linux.sys
Titolo: Apache mod_deflate + cache

Ciao, ho un server che usa mod_deflate
per limitare il consumo di banda, ed in effetti ha ridotto della metà
i consumi.
Il problema è che la CPU lavora da matti ..
Visto che Apache deve comprimere sempre le stesse pagine, non esiste
un modo per
comprimerle una volta ogni ora e rendere disponibile semplre la stessa
versione compressa ?
Grazie!
-- Yena --



non so se mod_cache funziona anche con i file serviti da apche stesso, ma 
puoi usare una configurazione
reverse_proxy + apache
il primo (squid, apache o quel che vuoi) gira le richieste ad apache che 
comprime e con ExpiresDefault informa il reverse di tenere in cache per 
un'ora.
HTH
-- 
Mi contraddico, forse?
Ebbene mi contraddico (sono vasto, contengo moltitudini)
                                         -- Walt Whitman

> rendere disponibile semplre la stessa versione compressa ?
io mod_gzip prima e deflate ora li uso da una vita su server ultra-
carichi ed il problema non è mai stato mod_Deflate, quando configurato 
bene.
Non è che stai comprimendo file che *non* devi comprimere o che sono già 
compressi ?
Quanti hits ti fa quel server al secondo ?

 Quanti hits ti fa quel server al secondo ?
l'extended status è così:
CPU Usage: u187.35 s17.61 cu0 cs0 - 2.45% CPU load
7.28 requests/sec - 85.8 kB/second - 16.2 kB/request
60 requests currently being processed, 51 idle workers
attivo da 10 min.. la voce  requests/sec continua a crescere ...
La configurazione del deflate è questa:
<IfModule mod_deflate.c>
    # Specifico i file su cui applicare la compressione
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/atom_xml
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/x-httpd-php
    AddOutputFilterByType DEFLATE application/x-httpd-fastphp
    AddOutputFilterByType DEFLATE application/x-httpd-eruby
    AddOutputFilterByType DEFLATE text/html
    # Non faccio il deflate sulle immagini e simili
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip
dont-vary
    SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.svf$ no-gzip dont-vary
    # Elimino eventuali problemi derivanti dai browser
    # con problemi di gestione
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    # Specifico espressamente i vari livelli di compressione
    DeflateCompressionLevel 9
    DeflateMemLevel 9
    DeflateWindowSize 15
    DeflateBufferSize 12096
    # Mi assicuro che i proxy non creino problemi
    Header append Vary User-Agent env=!dont-vary
    # Creo il file di log contenente il tasso di compressione
    DeflateFilterNote ratio
    LogFormat "%v %h %l %u %t \"%r\" %>s %b mod_deflate: %
{deflate_ratio}n pct." deflate_vhost
    CustomLog /var/log/httpd/deflate.log deflate_vhost
</IfModule>
-- Yena --

 attivo da 10 min.. la voce  requests/sec continua a crescere ...
il carico è ZERO.
ci deve essere qualche altra gabola anche perchè la CPU è sotto il 3%...
il blocco deve essere altrove
Ad ogni buon conto, usa la config di default di debian per deflate e vedi 
i risultati...
<IfModule mod_deflates.c>
    SetOutputFilter DEFLATE
    SetInputFilter DEFLATE
    #the two above compress everything unless excluded below
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar|iso)$ no-
gzip dont-vary
    SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.plist$ no-gzip dont-vary
    # Below is an example where you get rid of what's above and you 
explicity compress
    AddOutputFilterByType DEFLATE application/x-httpd-php application/x-
httpd-fastphp application/x-httpd-eruby text/html text/xml text/plain
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
DeflateFilterNote ratio
DeflateCompressionLevel 9
 <IfModule mod_headers.c>
    Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>