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.

Subscribe Our Newsletter Don't worry. We wont spam you.

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 *

No More Posts

close