PHP 7, OPCache ve APCu ile 3 Kat Hızlı WordPress [4]

Yazar: | 28 Aralık 2017

Önceki makalelerde Digital Ocean ücretsiz VPS üzerinde CentOS 7 kullanarak WordPress’i kurduk ve siteyi hızlandırmak için bazı teknikler uyguladık. Yalnızca standart CentOS 7 kütüphanelerinde bulunan gzip, Tuned, Event MPM ve php-fpm yapılandırılmış depoları kullandık. Bu yazımızda, CentOS 7 dışındaki depoları kullanarak ve PHP 5.6 ve PHP 7 sürümlerini karşılaştırarak sunucumuzu daha iyi optimize etmeye çalışacağız.

Bölümler

Sonraki bölümlerde ise Nginx yükleyerek WordPress’i daha da hızlandıracağız. Ayrıca, önbellek için Nginx’in FastCGI kullanarak performansı birkaç kat daha artıracağız.

Buradan itibaren, çoğunlukla sayfa yükleme süresinden ziyade, saniyede gerçekleşen isteklere odaklanacağız. Bunun nedeni, ayarlamalar devam ettikçe artık sayfa yükleme süresinin doğurduğu gecikmenin üstesinden gelemeyeceğimizden ölçüm daha az güvenilir hale gelir.

Devam edelim. Bu teknik, önceki ayarlamalardan itibaren devam eder; bu nedenle, bu noktaya ulaşmak için lütfen önceki makalelere bakın.


PHP 5.6 + OPCache + APCu Kurulumu

CentOS’un standart PHP versiyonu PHP 5.4’tür. Bu yazıda PHP 5.6’yı yüklemek için indirmeler yapacağız.

Önce sanal makinenize SSH ile giriş yapın ve Root kullanıcıya geçin.

sudo su –

PHP 5.4 paketlerini kaldıralım.

yum remove php* -y

Centos 7 PHP kaldırma

PHP 5.6, OPCache ve APCu için gerekli EPEL ve Remi kütüphanelerini kuralım.

yum install epel-release -y
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum --enablerepo=remi,remi-php56 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y

“apc.ini” yapılandırma dosyamız hala duruyor, bu nedenle üzerine yazılmadığından emin olmak için dosyayı yedekleyeceğiz.

mv /etc/php.d/apc.ini /etc/php.d/apc.ini.bak

PHP ayar dosyaları (/etc/php.ini), OPCache ayarları dosyası (/etc/php.d/10- opcache.ini) ve APCu ayar dosyaları zaten yüklü ve yapılandırılmış durumda. (/etc/php.d/40- apcu.ini).

Saat dilimini ayarlayalım. “/etc/php.ini” sayfasındaki 889 satırına gidin ve saat dilimini UTC olarak değiştirin.

nano /etc/php.ini

[Date]

; Defines the default timezone used by the date functions

; http://php.net/date.timezone

date.timezone = UTC

Kurulum tamamlandı. Durumu kontrol etmek ve herhangi bir sorun olmadığını onaylamak için php -v komutunu kullanın.

php -v

PHP sürüm kontrol

PHP 5.6’yı etkinleştiriyoruz.

systemctl enable php-fpm
systemctl restart php-fpm

Bununla birlikte, Apache’nin MPM + php-fpm etkinliği için yapılandırmayı koruyoruz ancak PHP 5.4 yerine PHP 5.6’ya geçiş yapıyoruz. OPCache + APCu hali hazırda etkin.

Anasayfayı açın. Daha iyi sonuçlar için birkaç kez yenileyin. Testimde sayfa yükleme süresi 95 ms idi.


PHP 7 + OPCache + APCu Kurulumu

Şimdi, PHP 5.6’nın performansını iki katına çıkaracak ve varsayılan ortamdan 10 kat veya daha fazla hız kazanacak şekilde PHP 7’yi kuracağız.

Sunucumuzun PHP çalıştırma ortamını PHP 7’ye geçireceğiz. PHP 7, son 10 yılın ilk büyük sürümüdür ve daha iyi özelliklere sahip olmak ve daha az bellek kullanmak için büyük ölçüde geliştirilmiştir.

PHP 7 ile PHP 5’ten en az %200 daha iyi bir performans elde edebiliriz. Ayrıca, ileri derece uyumlulu yapısı ile WordPress sürüm 4.4 veya daha yeni bir sürümü ile kullanılabilir. Bununla birlikte, belirli temalar ve eklentilerle kullanılamayabilir, bunu aklınızda tutmakta fayda var.

Şimdi, PHP 7’yi Remi deposundan yükleyelim. PHP 5.6’yı yum kullanarak kaldırıyoruz.

yum remove php* -y

Ardından PHP 7 yüklüyoruz.

yum --enablerepo=remi,remi-php70 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y

Centos 7 PHP 7 kurulum

PHP 7 kurulumu tamamlandı. Hatasız olduğundan emin olmak için php -v komutunu kullanıyoruz.

php -v

[root@server ~]# php -v

PHP 7.0.26 (cli) (built: Nov 21 2017 15:12:20) ( NTS )

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

with Zend OPcache v7.0.26, Copyright (c) 1999-2017, by Zend Technologies


PHP 7 Etkinleştirme ve Performans Testi

systemctl enable php-fpm
systemctl restart php-fpm

Anasayfayı tarayıcınıza yükleyin. Birkaç yenilemeden sonra sayfa yükleme süresi artacaktır. Bu, tarayıcıyla ölçülebilen sınırla ilgili.

ab komutu ile ile bir karşılaştırma testi yapın. Tutarsızlıkları önlemek için istekleri 100’den 300’e, eşzamanlı istekleri 10’dan 30’a değiştirin.

ab -n 300 -c 30 http://herhangi.net/
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 Artış) 14.94 (%184.57 Artış)

Testimde saniye başı istek 14.94 oldu. Sadece PHP 7’ye geçerek performansımız PHP 5.6’dan iki kat arttı. Ve şimdi varsayılan ayarlara göre 3 kat daha hızlı bir WordPress sitemiz var.


Serinin tüm bölümleri:

Paylaş:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir