Prepariamoci a completare l'ottimizzazione. Questa volta installeremo FastCGI, il middleware di caching delle pagine sviluppato da Nginx.
Installazione/Installazione di Nginx FastCGI
Per utilizzare questa funzione, è necessario abilitare i permalink in WordPress. Vai al Pannello di controllo, fai clic su “Impostazioni” e poi su “Permalink”. Consiglio di utilizzare lo schema "Nome post" per ottenere collegamenti SEO e intuitivi.
Ritorna al terminale SSH e modifica il file delle impostazioni di Nginx. Apporteremo modifiche al file nginx.conf.
nano /etc/nginx/nginx.conf
La versione finale dovrebbe essere la seguente.
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 3;
gzip on;
server_names_hash_bucket_size 128;
fastcgi_cache_path /var/cache/nginx/wordpress levels=1:2 keys_zone=wpcache:30m max_size=512M inactive=600m;
include /etc/nginx/conf.d/*.conf;
}Successivamente, aggiungiamo le condizioni di base della cache al file default.conf.
nano /etc/nginx/conf.d/default.conf
Nel file di configurazione includere fastcgi_params; Elimina i segni sotto la riga, incolla il codice qui sotto con il tasto destro e salva con CTRL + X.
set $do_not_cache 0;
if ($request_method = POST) {
set $do_not_cache 1;
}
if ($query_string != "") {
set $do_not_cache 1;
}
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
set $do_not_cache 1;
}
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.ph$
set $do_not_cache 1;
}
fastcgi_cache wpcache;
fastcgi_cache_key "$request_method:$scheme://$host$request_uri";
fastcgi_cache_valid 200 60m;
fastcgi_no_cache $do_not_cache;
fastcgi_cache_bypass $do_not_cache;
add_header X-F-Cache $upstream_cache_status;
}
}Risultati della cache FastCGI
Riavviamo Nginx.
systemctl restart nginx
Siamo pronti per i test. Per testare la nostra ottimizzazione a un livello superiore, aumentiamo le richieste da 100 a 10000 e le richieste simultanee da 10 a 100. I risultati sono incredibili
ab -n 10000 -c 100 http://sitoweb.net/
Risultati
Concurrency Level: 100 Time taken for tests: 5.294 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 535020075 bytes HTML transferred: 532590000 bytes Requests per second: 1888.79 [#/sec] (mean) Time per request: 52.944 [ms] (mean) Time per request: 0.529 [ms] (mean, across all concurrent requests) Transfer rate: 98685.67 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 3 1.0 3 7 Processing: 3 50 237.6 15 3521 Waiting: 3 47 235.6 12 3520 Total: 4 52 237.8 17 3526 Percentage of the requests served within a certain time (ms) 50% 17 66% 18 75% 18 80% 19 90% 31 95% 99 98% 424 99% 463 100% 3526 (longest request)
Le richieste al secondo nel mio test sono 1888,79.

Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.