Plesk ve Centos 6 Plesk yanına APC (Alternative PHP Cache) Kurulumu

İlk olarak kısaca APC’nin ne olduğundan bahsedeyim. APC’nin açılımı Alternative PHP Cache şeklindedir. APC PHP için opcode cache olarak çalışmaktadır. Yani derlenen bir PHP sayfasının direkt olarak RAM üzerinden çağrılmasını ve sayfanın tekrar yorumlanma sürecine girmemesini sağlayarak sunucunuzda hem performans artışı hem de yoğun yük altındaki sunucularda ciddi anlamda yük düşmesini sağlamaktadır.

Hatta bazı hazır uygulamalar, APC kullanarak PHP sayfaları haricinde sayfa çıktılarını veya çeşitli değişkenleri de RAM üzerinde tutmakta böylelikle inanılmaz performans artışları sağlanmaktadır.

Aşağıda verilen kurulum adımları Centos 6 64 bit versiyon üzerinde Plesk 11 kurulu sunucularda test edilmiştir.

ilk olarak aşağıdaki komutları vererek gerekli paketleri kuralım (Standart bir sunucu ve Plesk kurulumu yapıldıysa büyük ihtimalle aşağıdaki paketler olmayacaktır.);

 

yum install -y php-pear php-devel httpd-devel pcre-devel

 

Daha sonra aşağıdaki komutlar ile sunucumuzda bazı derleme paketlerinin olup olmadığını kontrol ediyoruz ve eğer yoksa onları da kuruyoruz. 

 

which gcc

which make
Eğer yukarıdaki kontrollerde bir çıktı alınmıyorsa bu durumda aşağıdaki komutlar ile o paketleri de kurmamız gerekiyor.

 

yum install -y gcc

yum install -y make
Daha sonra aşağıdaki komut ile APC kurulumunu başlatalım. Büyük ihtimalle sorunsuz olarak kurulacaktır.

 

pecl install apc

 

Kurulum sırasında sorulan soruların hepsini enter ile geçerek default seçenekleri seçerek kurabilirsiniz. Daha sonra aşağıdaki komut ile apc.ini dosyasını oluşturup açalım.

 

nano /etc/php.d/apc.ini

 

Daha sonra da içine aşağıdaki satırı ekleyelim;

 

extension=apc.so

 

Daha sonra aşağıdaki komut ile Apache serverı restart ettiğimizde APC çalışmaya başlayacaktır.

 

service httpd restart

 

APC’nin çalıştığından emin olmak için aşağıdaki komut çıktısında APC’nin konfigürasyon bilgilerini görmeniz gerekir.

 

php -i |grep apc

 

APC’nin yeni sürümü çıktığında aşağıdaki komut ile kolayca güncelleyebilirsiniz.

 

pecl upgrade apc

 

APC ile ilgili çeşitli istatistikler almak ve çalışma durumunu kontrol etmek isterseniz, aşağıda yolu verilen php dosyasını herhangi bir vhost a atarak istatistiklere bakabilirsiniz.

 

/usr/share/pear/apc.php

 

Bolca RAM’iniz varsa, (özellikle biz NARWEB’de bol RAM’li sunuculara alışık olduğumuz için 🙂 ) size basit bir örnek APC conf verebilirim;

 

nano /etc/php.d/apc.ini

 

ile konfigürasyonu açarak içine bunları ekleyebilirsiniz.

 

apc.shm_size=2G
apc.num_files_hint=20000
apc.user_entries_hint=20000
apc.max_file_size=5M

 

Buradaki;

apc.shm APC için atadığınız RAM’i belirtiyor.

apc.num_files_hint APC’nin opcode cache tarafında toplamda kaç dosyaya tutacağını belirtiyor. Şunu belirteyim RAM müsait ise APC bunu aşıyor fakat RAM’in doğru optimizasyonu için buradaki rakamın kullanımınıza göre mantıklı verilmesi önemli.

apc.user_entries_hint APC’nin opcode cache dışında tutacağı toplam kayıt sayısını belirtiyor. Yine apc.num_files_hint te belirttiğim gibi APC RAM müsait ise bunu aşıyor fakat RAM’in adam akıllı parçalanma olmadan kullanılması ve APC’nin buna göre RAM’i optimize etmesi için bu rakamların kullanım durumunuza göre optimize edilmesi gerekiyor.

apc.max_file_size APC’nin caching yaparken tutacağı maksimum dosya boyutunu belirliyor.

 

APC’yi araştırdığınızda daha fazla ayar olduğunu görebilirsiniz. Burada sadece basit birkaç değişkeni değiştirerek sunucu kaynaklarını kullanmak ve performans elde etmek düşünülerek bu örnek verilmiştir. Siz ihtiyaçlarınıza göre daha farklı konfigürasyonlar da oluşturabilirsiniz.

Konuya ilgi olursa daha farklı yazılar ile caching konularına devam edebiliriz. 🙂

“Plesk ve Centos 6 Plesk yanına APC (Alternative PHP Cache) Kurulumu” üzerine 2 yorum

  1. Merhabalar,
    APC’yi kurdum ancak her apache işlemi ve kullanıcıya ait php-cgi işlemi için ayrı bir apc oturumu oluşturuyor.
    Lütfen yardımcı olur musunuz?

  2. Merhabalar,

    kullandığınız yapı tam olarak nasıl yani işletim sistemi nedir? Panel kurulu mu? PHP sürümü? Plesk kullanıyorsanız PHP’yi hangi modda kullanıyorsunuz?

    Bu ayrıntıları verirseniz beraber kontrol edebiliriz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.