Cache PHP alternatif
Transcription
Cache PHP alternatif
APC Cache PHP alternatif Présenté par : MASLINE-CAMERINI Antoine 1 Plan de la présentation - Pré requis à connaître - Introduction - Principe de fonctionnement - Installation - Utilisation - Comparatif - Conclusion 2 Pré requis à connaitre - Php : Langage utilisé pour produire des sites web dynamique. HTTP Connexion PHP POST/GET Requêtes SQL HTML PHP Pages HTML Client Navigateur web $Résultat Serveur d ’applications Serveur de bases de données Apache + PHP 3 Pré requis à connaitre Quelques petites particularités : - Code écrit entre « <?php » et « ?> » - langage non typé - Variable commençant par $ (exemple : $variable = "ok") - foreach ($array_expression as $key => $value) { /* commandes */ } 4 Pré requis à connaitre 5 Introduction Signification d’APC ? -> Alternative PHP Cache But ? -> Accélérer la génération de scripts PHP. 6 Principe de fonctionnement Script PHP Parsing PHP Compile Cache OpCode « APC » Execute Page HTML Output 7 Principe de fonctionnement Benchmark avec Firebug APC sur Symphony 2.4 SANS APC AVEC APC 8 Installation - Avec de la chance votre hébergeur propose déjà cette extension. - Sinon : - Demander à votre hébergeur de l'installer. - Disposer de votre propre serveur dédié. 9 Installation (1/3) Installation sous Linux : Pour php < 5.5 >> sudo apt-get install php-apc >> sudo nano /etc/php5/apache2/php.ini Pour php >= 5.5 (OPCache Natif) >> sudo apt-get install php-apcu >> sudo nano /etc/php5/apache2/php.ini 10 Installation (2/3) Pour php < 5.5 Ligne à ajouter 11 Installation (3/3) Pour php >= 5.5 Dans php.ini >> zend_extension=/usr/lib/php5/20100525/opcache.so >> opcache.enable=1 Dans /etc/php5/mods-available/apcu.ini >> extension=apcu.so Redémarrer Apache : >> /etc/init.d/apache2 restart 12 Utilisation Propriété dans « php.ini » - apc.enabled : Activer / désactiver APC. - apc.shm_size : La taille en mémoire attribué à APC - apc.optimization : Degré d'optimisation - apc.filters : Expressions rationnelles séparées par des virgules. Exemple : apc.filters = "(exemple|index|favori\.php) » - apc.cache_by_default : Utilisation du cache par défaut Exemple : apc.cache_by_default = 0 apc.filters="+(exemple|index|favori\.php) » - apc.ttl : nombre de secondes pendant lesquelles le cache sera conservé. 13 Utilisation Exemple d’utilisation : 14 Utilisation Fonctions les plus utilisées - Mettre en cache une variable (apc_add | apc_store) - Récupérer une variable en cache (apc_fetch) - Vérifier si une variable exist (apc_exists) - Effacer une variable dans le cache (apc_delete) - Supprimer le cache(apc_clear_cache) - Mettre à jour une variable (apc_cas) - Incrémenter/décrémenter une variable (apc_inc | apc_dec) - Compiler un fichier (apc_compile_file) - Supprime un fichier du cache (apc_delete_file) 15 Utilisation Benchmark avec Apache-Benchmark Sans l’utilisation d’un cache 16 Utilisation Benchmark avec Apache-Benchmark Avec l’utilisation d’un cache fichier 17 Utilisation Benchmark avec Apache-Benchmark Avec l’utilisation d’APC 18 Utilisation - apc_cache_info : Récupère les informations du cache et les métadonnées depuis le magasin APC. - apc_sma_info : Récupère les informations d'allocation mémoire partagée d'APC. 19 Utilisation Exemple d’utilisation : 20 Comparatif de cache La comparaison des caractéristiques : 21 Comparatif de cache Tableau de compatibilité : 22 Conclusion Facile à installer Gain énorme de vitesse APC Très utilisé Facile à utiliser 23 Merci de votre attention 24 Sources - http://php.net/manual/fr/book.apc.php - http://en.wikipedia.org/wiki/List_of_PHP_accelerators - http://www.inmotionhosting.com/support/website/what-is/speed-up-php-with-apc - http://www.ricardclau.com/2013/03/apc-vs-zend-optimizer-benchmarks-with-symfony2/ - http://forum.phalconphp.com/discussion/2594/opcached-php-frameworks-performbetter-than-phalcon - http://getgrav.org/blog/mac-os-x-apache-setup-mysql-vhost-apc - http://blog.nicolashachet.com/gestion-de-caches/optimisation-web-php-des-caches-atous-les-niveaux/ - http://www.stephane-raymond.com/blog/webperf/caching-avance/ - http://www.woueb.net/2011/04/11/accelerateur-php-apc/ 25