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

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:

Yanıtla