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

php中世界最好的语言
Libérer: 2023-03-17 18:52:02
original
1891 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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/
Copier après la connexion

3. Configurez PHP pour charger xcache

Ajouter des remarques
cd /usr/local/php/lib/
Copier après la connexion
.



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"
Copier après la connexion



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



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



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




Test

cat /home/king/xcache-1.3.2/xcache.ini >> php.ini
Copier après la connexion


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
Copier après la connexion

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:
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal