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 VP Bare Metal (Dedibox) chez Scaleway. Je tiens ce blog depuis 13 ans avec beaucoup moins d'assiduité malheureusement qu'à ses débuts, mais bon, le temps est une denrée rare.

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 *