Ottimizzazione WordPress utilizzando FastCGI

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.

Autore

Classe Novanta3, Fondatore di TrgtKLS. Appassionato in Sec IT & Tech. Expert per l'amministrazione web server e supporto in Back-&, ottimizzazione e manutenzione di esso. • Metà Free e Metà Freelancer • [email protected]

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *