Migliorare prestazioni apache rendendo ClipBucket più veloce

Argomenti monotematici pensati per aiutare gli utenti meno esperti, quindi tralasciando dettagli che potrebbero interessare solo il pubblico con conoscenze più approfondite.
Rispondi
Elisa
Messaggi: 49
Iscritto il: lunedì 12 ottobre 2015, 0:39

Migliorare prestazioni apache rendendo ClipBucket più veloce

Messaggio da Elisa » mercoledì 6 novembre 2019, 16:37

Seguendo i miei consigli potrai incrementare le prestazioni di ClipBucket intervenendo su Apache con mod pagespeed. I consigli riportati, sono adatti nello specifico alla distro Linux Debian, ma sono compatibili con qualsiasi distro derivante tipo Ubuntu.

Per saperne di più

I Google Labs hanno recentemente rilasciato un modulo per il Web server Apache che permette l’ottimizzazione automatica di pagine Web e altre risorse attraverso l’azione di appositi filtri per la riscrittura e fornendo così maggiore velocità di caricamento di tutto il codice HTML, CSS, JavaScript e delle immagini senza rendere necessario alcun intervento manuale sul server. Il modulo non agisce sul codice lato server, quindi non deve essere visto come una possibile soluzione per migliorare script PHP mal riusciti o per velocizzare query SQL non ottimizzate.
Il modulo in questione è distribuito sotto licenza Apache 2.0, ma non è incluso nei repository ufficiali Debian a causa dell'utilizzo in bundle di alcune librerie; per una spiegazione delle motivazioni che hanno portato all'esclusione del modulo dai repository Debian si veda ad esempio il seguente bug report.

Installazione di mod pagespeed

I Google Labs forniscono un pacchetto DEB di mod_pagespeed per Debian, sia a 32 bit, sia a 64 bit. Il pacchetto può essere scaricato a questo indirizzo:
https://developers.google.com/speed/pagespeed/module
Una volta scaricata l'ultima versione del pacchetto:

Codice: Seleziona tutto

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb
lo possiamo installare tramite gdebi, installandolo se occorre:

Codice: Seleziona tutto

gdebi mod-pagespeed-*.deb
Quindi abilitiamo il modulo e riavviamo Apache.
Da Stretch:

Codice: Seleziona tutto

systemctl reload apache2
L'installazione configura anche un file all'interno della directory /etc/apt/sources.list.d, abilitando un repository esterno per gli aggiornamenti automatici del modulo.

Configurazione di mod pagespeed

Dopo l'installazione, può essere utile apportare alcune modifiche alla configurazione del modulo, agendo sul suo file di configurazione principale:

Codice: Seleziona tutto

nano /etc/apache2/mods-available/pagespeed.conf
All'inizio del file dovremmo trovarci le righe:

Codice: Seleziona tutto

<IfModule pagespeed_module>
    # Turn on mod_pagespeed. To completely disable mod_pagespeed, you
    # can set this to "off".
    ModPagespeed on
che indicano che il modulo è attivo. Se al contrario ci fosse la direttiva ModPagespeed off, cambiamola a on per attivarlo.
Poco dopo dovremmo trovare la direttiva:

Codice: Seleziona tutto

# ModPagespeedRewriteLevel PassThrough
Decommentiamola, per attivare i filtri predefiniti del modulo.
Una ventina di righe più sotto dovremmo trovare le direttive:

Codice: Seleziona tutto

# ModPagespeedEnableFilters rewrite_javascript,rewrite_css
# ModPagespeedEnableFilters collapse_whitespace,elide_attributes
Decommentiamolr, e nel frattempo aggiungiamo alcune altre direttive di ottimizzazione:

Codice: Seleziona tutto

ModPagespeedEnableFilters combine_css
ModPagespeedEnableFilters inline_css,inline_javascript
ModPagespeedEnableFilters rewrite_images
ModPagespeedEnableFilters insert_img_dimensions
ModPagespeedEnableFilters remove_comments
ModPagespeedEnableFilters extend_cache
ModPagespeedEnableFilters remove_quotes
Sistemiamo i permessi per la directory di cache:

Codice: Seleziona tutto

chmod -R a+w /var/cache/mod_pagespeed
Quindi riavviamo Apache per fargli digerire le modifiche.

Da Stretch:

Codice: Seleziona tutto

systemctl reload apache2
Configurazione Virtual Host

La configurazione precedente applica le stesse impostazioni di mod_pagespeed a tutti i Virtual Host presenti sul nostro server. È però possibile applicare configurazioni personalizzate per ogni Virtual Host, agendo sul file di configurazione del Virtual Host stesso:

Codice: Seleziona tutto

<VirtualHost *:80>
 ServerAdmin webmaster@domain.tld
 ServerName domain.tld
 ServerAlias www.domain.tld
 DocumentRoot /var/www/domain.tld/
 <Directory "/var/www/domain.tld">
    Options -Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
 </Directory>

   ModPagespeed on
   ModPagespeedFileCachePath "/usr/local/apache2/pagespeed/cache/"
   ModPagespeedGeneratedFilePrefix "/usr/local/apache2/pagespeed/files/"
   ModPagespeedEnableFilters combine_css
   ModPagespeedEnableFilters rewrite_css,rewrite_javascript
   ModPagespeedEnableFilters inline_css,inline_javascript
   ModPagespeedEnableFilters rewrite_images
   ModPagespeedEnableFilters insert_img_dimensions
   ModPagespeedEnableFilters remove_comments
   ModPagespeedEnableFilters extend_cache
   ModPagespeedEnableFilters remove_quotes   
</VirtualHost>
Documentazione ufficiale

La documentazione ufficiale è reperibile al seguente indirizzo: https://developers.google.com/speed/pagespeed/module

Guardiano
Moderatore
Messaggi: 80
Iscritto il: lunedì 12 ottobre 2015, 0:37

Re: Migliorare prestazioni apache rendendo ClipBucket più veloce

Messaggio da Guardiano » mercoledì 6 novembre 2019, 17:21

Grazie mille per il contributo che sicuramente sarà apprezzato da tutti

Rispondi