FastCGI Kurulumu ile Işık Hızında WordPress [6]

3 dakika
Paylaş:

Bu yazıda, Nginx’in FastCGI önbelleği ile WordPress hızlandırma ayarlarına son rötuşları yapacağız. Bu teknik, önceki ayarlamadan itibaren devam eder; bu nedenle, bu noktaya ulaşmak için lütfen önceki makalelere bakın.

 

Optimizasyonu tamamlamak için hazırlanalım. Bu sefer Nginx tarafından geliştirilen sayfa önbellekleme ara katmanı, FastCGI’yi kuracağız.

FastCGI ikon

Nginx FastCGI Yükleme / Kurulum

Bu özelliği kullanmak için WordPress’de kalıcı bağlantıları etkinleştirmeniz gerekir. Kontrol Paneline gidin, “Ayarlar” ve ardından “Kalıcı Bağlantılar”ı tıklayın. SEO ve kullanıcı dostu linkler elde etmeniz için “Yazı ismi” şeması kullanmanızı öneririm.

SSH terminaline dönün ve Nginx ayar dosyasını düzenleyin. nginx.conf dosyasında değişiklikler yapacağız.

nano /etc/nginx/nginx.conf

Son hali aşağıdaki gibi olmalı.

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; #burayi ilave ettik
include /etc/nginx/conf.d/*.conf;
}

Ardından, temel önbellek koşullarını default.con dosyasına ekleyelim.

nano /etc/nginx/conf.d/default.conf

Konfigürasyon dosyasında include fastcgi_params; satırının altında kalan işaretleri silerek aşağıdaki kodu sağ tuş ile yapıştırın ve CTRL + X ile kayıt edin.

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;
}
}

FastCGI önbellek sonuçlarını test edelim

Nginx’i yeniden başlatalım.

systemctl restart nginx

Test için hazırız. Yaptığımız optimizasyonu daha üst seviyede test etmek için istekleri 100’den 10000’e, eşzamanlı istekleri 10’dan 100’e artırıyoruz. Sonuçlar inanılmaz

ab -n 10000 -c 100 http://herhangi.net/

Sonuçlar

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)

Testimde saniye başı istek 1888.79. Son haline göre kıyaslama yapmak gerekirse değişim aşağıdaki gibi.

Optimize Konusu Sayfa yükleme süresi
(varsayılanla karşılaştırıldığında)
Saniye başı istek
(Requests per second)
Varsayılan kurulum 471 ms 5.25
APC 299 ms (Değişim %36.51) 7.92
OPcache+APCu 276 ms (Değişim %41.40) 8.27
MariaDB Ayarları 240 ms (Değişim %49.04) 8.99
Tuned, gzip, MPM+php-fpm 100 ms (Değişim %78.76) 8.92
PHP 7+OPCache+APCu 95 ms (%79.83) 14.94
FastCGI 95 ms (%79.83) 1888.79 (%35876.95 Artış)

Seriyi bu şekilde noktalıyoruz. Soru ve görüşlerinizi yorum alanından paylaşarak fikir alışverişi sağlayabiliriz. Okuduğunuz için teşekkür ederim.


Serinin tüm bölümleri:

Paylaş: