Maison  >  Article  >  développement back-end  >  Étapes de mise en œuvre pour l'optimisation du cache PHP à l'aide de memcached et xcache

Étapes de mise en œuvre pour l'optimisation du cache PHP à l'aide de memcached et xcache

php中世界最好的语言
php中世界最好的语言original
2017-12-05 09:36:521826parcourir

Nous savons qu'eaccelerator est un accélérateur PHP gratuit et open source qui optimise et met en cache le contenu dynamique. Il peut améliorer les performances de mise en cache des scripts PHP et optimiser les scripts, de sorte que l'efficacité de l'exécution du code de votre programme PHP puisse être améliorée de 1 à 10 fois, aujourd'hui, je vais vous apprendre à optimiser le cache en PHP.

2. Principe de mise en cache

Lorsqu'un utilisateur demande un programme PHP, le moteur PHP analysera le programme et le compilera dans un code d'opération spécifique (opcode), qui est un exécutable. code au format binaire. Cet opcode est ensuite exécuté par le moteur PHP et supprimé. Le cache d'opcode enregistrera cet opcode compilé et le réutilisera lors du prochain appel de la page, économisant ainsi beaucoup de temps sur les compilations répétées, économisant des ressources et optimisant les performances.
3. Installez eaccélérateur

Ajustez le jeu de caractères

#echo 'LC_ALL=C' >> /etc/profile#source /etc/profile
[root@~]#tar jxf eaccelerator-0.9.6.tar.bz2[root@~]#cd eaccelerator-0.9.6
[root@~]#/usr/local/php/bin/phpize
phpize是用来扩展php模块的,通过phpize可以建立php的外挂模块[root@~]#./configure --enable-eaccelerator=shared \
--with-php-config=/usr/local/php-5.3.27/bin/php-config[root@~]#make && make install
[root@~]# ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/eaccelerator.so

4. Configurez PHP pour charger eaccélérateur

Créez un répertoire de cache.

mkdir /tmp/eaccelerator #Le répertoire peut être stocké en utilisant la mémoire tmpfs le système de fichiers , le disque SSD

chown -R www.www /tmp/eaccelerator

Ajoutez le contenu suivant dans php.ini :

eaccelerator cache config by Zhang DeJin 2017-12-1
[eaccelerator]
extension = eaccelerator.so
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.chech_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_perid="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
--End config
测试:[root@lnmp nginx]# /usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 30 2017 05:35:00)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerat

Configuration terminée

Redémarrez httpd ou php-fpm pour prendre effet

5. Sélection de la version

php5.3. xx disponible eaccelerator- Version 0.9.6
php5.2.xx disponible eaccelerator-0.9.5.2 version

2) Xcache

1 Introduction

XCache est un outil rapide et cache d'opcode PHP stable. Bien testé et stable sur les machines de production à trafic élevé et à charge élevée. Testé (sous Linux) et prend en charge les dernières versions de toutes les branches PHP actuelles, telles que PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6 .x) et. prend en charge la sécurité des threads/Windows. Par rapport aux caches d'opcodes similaires, il est supérieur, par exemple en étant capable de suivre rapidement les versions PHP. Le projet XCache est dirigé par mOo, qui est également l'un des membres de développement de Lighttpd. L'une des applications de serveur Web, et surpasse Apache et de nombreux autres serveurs Web, XCache s'efforce d'obtenir des résultats similaires 2. Installez

tar jxf xcache-1.3.2.tar.bz2cd xcache-1.3.2/usr/local/php-5.3.27/bin/phpize./configure --enable-xcache --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make install
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

3. Configurez PHP pour charger xcache

Ajouter des remarques
cd /usr/local/php/lib/
.



Modifiez xcache-1.3.2/xcache.ini, vous pouvez utiliser la commande sed pour modifier

Commentez la troisième ligne
echo >> php.ini
echo "xcache config by ZhangDejin 2017-12-1"



Commentez la sixième ligne
zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so



Activez la huitième ligne
zend_extension_ts = c:/php/extensions/php_xcache.dll



Les paramètres restants sont basés sur la configuration du serveur Ajuster <.> puis ajoutez-le à php.ini
;extension = xcache.so




Test

cat /home/king/xcache-1.3.2/xcache.ini >> php.ini


Redémarrez httpd ou php-fpm pour prendre effet

3) client memcache, PDO_mysql, bibliothèque d'extension imagick
/usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 29 2017 18:03:24)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v1.3.2, Copyright (c) 2005-2011, by mOo

1 Introduction

Memcache est un objet de mémoire distribuée hautes performances

système de mise en cache

, qui est utilisé dans. mémoire Une énorme table de hachage unifiée y est conservée, qui peut être utilisée pour stocker des données dans divers formats, y compris des images, des fichiers vidéo et des résultats de récupération de base de données. En termes simples, les données sont appelées dans la mémoire puis lues dans la mémoire. améliorant considérablement la vitesse de lecture

L'extension PDO définit une interface légère et cohérente permettant à PHP d'accéder à la base de données. Elle fournit une couche d'abstraction d'accès aux données afin que, quelle que soit la base de données utilisée, exécutez des requêtes pour obtenir des données via des données cohérentes. fonctions ImageMagick est un ensemble d'ensembles de travail et de kits de développement puissants, stables et gratuits qui peuvent redimensionner, faire pivoter, affiner et réduire les types d'images dans plus de 89 formats de traitement des couleurs et autres, son objectif principal étant désormais. sur les performances, réduisant les bugs et fournissant une API et un ABI stables

2 Install

Afficher les paramètres de compilation nginx

nginx - V

Afficher les paramètres de compilation httpd
tar zxf memcache-2.2.5.tgzcd memcache-2.2.5/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installln /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/
安装PDO_MYSQL
tar zxf PDO_MYSQL-1.0.2.tgzcd PDO_MYSQL-1.0.2/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config --with-pdo-mysql=/usr/local/mysql/make && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-non-zts-2009062
yum install perl-devel -ytar zxf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremake && make install安装imagicktar zxf imagick-2.3.0.tgzcd imagick-2.3.0/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/配置PHP加载pdo_mysql,memcache,imagick等模块修改extension_dir = "./"为extension_dir = "/usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/"添加这几个模块;--cache ext start by Zhang Dejin 2017-12-1extension = memcache.soextension = pdo_mysql.soextension = imagick.so;End config:
cat. httpd/build/config.nice

Afficher les paramètres de compilation mysql
grep "CONFIGURE_LINE" mysql/bin/mysqlbug
Paramètres de compilation php
php/bin /php -i|grep configure

Complet

Je pense que vous maîtrisez la méthode après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres sujets connexes sur l'article du site Web chinois php !


Lecture connexe :

Réponses aux questions sur la dénomination des cas de chameaux et JS

Valeurs booléennes, opérateurs relationnels en JS, Explication détaillée et exemples d'opérateurs logiques

Résumé du framework front-end js et explication de ses utilisations

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn