0VPS Tweaks per migliorare le prestazioni web

Mentre io non ho scritto molti articoli nuovi di recente ho trascorso molto tempo l'aggiornamento e la revisione del lato dietro le quinte delle cose, vale a dire vari sicurezza (TLS) impostazioni di mia VPS che ospita diversi siti compreso questo. Un'altra cosa che ho anche lavorato per migliorare recente è quello di migliorare il mio uso di gzip, e un nuovo formato chiamato Brotli

Brevemente, gzip (e Brotli) can be used to com­press resources before they are sent to the browser, che riduce la quantità di dati inviati, and hence should mean a site loads faster. The down­side is that com­press­ing resources takes time, which could out­weigh the gains from the smal­ler sizes. The ideal solu­tion is to have resources com­pressed in advance, rather than com­pressed by the http serv­er in real­time. Most of my web­sites use word­press which con­tains lots of files in plu­gins, temi ecc, so going through all of these and manu­ally com­press­ing them everytime there is an update would be imprac­tic­al. The answer is to use a script which mon­it­ors the sys­tem for file changes, and cre­ates com­pressed files as needed. Below is the script I have recently writ­ten to do exactly this.

#!/bin/bash                               

inotifywait -m -q -e CREATE -e MODIFY -e MOVED_TO -r "/var / www /" --formato "%w% f" -- Excludei'.(jpg|png|gif|ico|ceppo|sql|cerniera lampo|gz|pdf|php|swf|ttf|EOT|WOFF|cst|jst|br|CTS)$' |
while read file
do
if [[ $file = ~ \.(css)$ ]];
then
fname="${file%.*}"
se [ -f "$fname".min.css ]
then
rm -f $file.gz
rm -f $file.br
zopfli --gzip $file
bro --quality 11 --input $file --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
else
rm -f $file.gz
rm -f $file.br
cat $file | CleanCSS > $fname.cst
cat $file | CleanCSS | bro --quality 11 --output $file.br
zopfli --gzip $fname.cst -c > $fname.css.gz
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
rm -f $fname.cst
fi
fi

if [[ $file = ~ \.(js)$ ]];
then
fname="${file%.*}"
se [ -f "$fname".min.css ]
then
rm -f $file.gz
rm -f $file.br
zopfli --gzip $file
bro --quality 11 --input $file --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
else
rm -f $file.gz
rm -f $file.br
uglifyjs $fname.js > $fname.jst
zopfli --gzip $fname.jst -c > $fname.js.gz
bro --quality 11 --input $fname.jst --output $file.br
chmod 664 $file.br
chmod 664 $file.gz
chown wordpress:wordpress $file.br
chown wordpress:wordpress $file.gz
rm -f $fname.jst
fi
fi

origfs=$(wc -c < "$file")
gzfs = $(wc -c <"$file.gz")
BRFS = $(wc -c <"$file.br")

se [ "$origfs" -lt "$gzfs" ];
then
rm $file.gz -f
fi
if [ "$origfs" -lt "$BRFS" ];
then
rm $file.br -f
fi

done

lascia un commento