Cache PHP alternatif – APC (Alternative PHP Cache)

Le « Alternative PHP Cache » (APC) est un cache opcode libre et ouvert pour PHP. Il a été conçu afin de fournir un framework libre, ouvert et robuste pour la mise en cache et l’optimisation de code intermédiaire PHP.
Il est à savoir que normalement APC devrait être inclus en natif dans php 6 😉
Nous l’utilisons pour optimiser l’accès a des portails fait avec Ez-Publish, et il est vrai que l’amélioration est vraiment importante !!!

Voici un petit howto qui explique comment installer apc sur une debian avec un php4.
D’abord il faut avoir installé PEAR
apt-get install apache2
apt-get install libapache2-mod-php4
apt-get install php-pear
apt-get install php4-dev
apt-get install make
pecl install apc

Il faut installer le mod pré-fork également.
apache2-prefork-dev is necessary for not having the
« Sorry, I was not able to successfully run APXS. »
error

Ensuite il faut copier le fichier /usr/share/php/apc.php et le rendre disponible via une interface web, par exemple dans /var/www/htdocs/
Et il faut éditer le fichier pour y intégrer un mot de passe
vi /var/www/apache2-default/apc.php
Pour modifier ce mot de passe il faut modifier ces valeurs :
defaults(‘ADMIN_USERNAME’,’user’); // Admin Username
defaults(‘ADMIN_PASSWORD’,’password’); // Admin Password – CHANGE THIS TO ENABLE!!!

Ensuite il faut modifier le fichier php.ini et ajouter cela :
extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=1024
apc.max_file_size=1024000

apc.enabled permet d’activer ou désactiver APC. Il est à 1 par défaut
apc.shm_segments est le nombre de ségments mémoire à allouer pour le cache. Il est à 1 par défaut.
apc.shm_size est la taille de chaque segment de mémoire partagé en MB. Ceci est à régler selon les capacités machines et vos besoins.
apc.max_file_size empêche les gros fichiers d’être mis en cache.

Pour consulter l’état du cache, il suffit d’aller à cette url
http://IP-DU-SERVEUR/apc.php
Il est possible de vider le cache en s’authentifiant et en cliquant sur ‘Clear opcode Cache »

Et par expérience, les performances sont largement améliorées 😉

Lien vers APC
Benchmark entre APC, Eaccelerator, et du PHP seul

Author: Pierre-Yves Dubreucq

Passioné par les logiciels libres depuis 2001, je suis responsable d'Odiso (hébergeur web spécialiste des infrastructures haute disponibilité e-commerce et en gestion de pics de trafic & webperf) je tiens ce blog depuis 9 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, car j'écris aussi sur MonSiteEstLent.com blog d'Odiso dédié à la webperf

Share This Post On

2 Comments

  1. bonjour ,
    je souhaite savoir si sur un archos 5 it 32 go il y a un agenda electronique proféssionnel type palm car les vendeur auchan et darty ne savent pas
    merci de retour
    cordialement,

    Post a Reply
  2. Bonjour,

    J’ai installé Apc sur mon serveur et j’ai fais quelques optimisations mais je voudrais savoir si je pouvais faire mieux.

    Voici mes réglages (mon serveur a été rallumé il y a environ 2h donc certaines valeurs ne sont ont pas au max):

    http://i.imgur.com/xZSHu.jpg

    Les valeurs que je souhaite ajuster c’est apc.num_files_hint et apc.user_entries_hint mais il faut vérifier par rapport quelles valeurs pour verifier si je suis bon ?

    Le réglage apc.num_files dépend-t-il du résultat de Cached Files (dans le tableau File Cache Information) ??

    et

    Le réglage apc.user_entries_hint dépend-t-il du résultat de Cached Variables (dans le tableau User Cache Information) ??

    Si oui alors :

    apc.num_files = 1000 > Cached Files = 287 ===> je suis bon pas besoin de toucher

    apc.user_entries_hint = 1288 pas bon, je dois augmenter apc.user_entries_hint

    Merci d’avance pour votre aide

    Post a Reply

Submit a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *