Heim  >  Artikel  >  Backend-Entwicklung  >  Implementierungsschritte für die PHP-Cache-Optimierung mit memcached und xcache

Implementierungsschritte für die PHP-Cache-Optimierung mit memcached und xcache

php中世界最好的语言
php中世界最好的语言Original
2017-12-05 09:36:521896Durchsuche

Wir wissen, dass eaccelerator ein kostenloser und Open-Source-PHP-Beschleuniger ist, der dynamische Inhalte optimiert und zwischenspeichert. Er kann die Skript-Caching-Leistung von PHP verbessern und Skripte optimieren, sodass die Effizienz der Ausführung Ihres PHP-Programmcodes um das 1- bis 10-fache gesteigert werden kann. Heute werde ich Ihnen beibringen, wie Sie das Caching in PHP optimieren.

2. Caching-Prinzip

Wenn ein Benutzer ein PHP-Programm anfordert, analysiert die PHP-Engine das Programm und kompiliert es in einen bestimmten Operationscode (Opcode), der eine ausführbare Datei ist Code im Binärformat. Dieser Opcode wird dann von der PHP-Engine ausgeführt und verworfen. Der Opcode-Cache speichert diesen kompilierten Opcode und verwendet ihn beim nächsten Aufruf der Seite wieder. Dadurch wird beim wiederholten Kompilieren viel Zeit gespart, Ressourcen gespart und die Leistung optimiert.
3. Eaccelerator installieren

Zeichensatz anpassen

#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. PHP zum Laden von Eaccelerator konfigurieren

Cache-Verzeichnis erstellen

mkdir /tmp/eaccelerator #Das Verzeichnis kann im tmpfs-Speicher gespeichert werden

Dateisystem , SSD-Solid-State-Laufwerk

chown -R www.www /tmp/eaccelerator
Fügen Sie den folgenden Inhalt in php.ini hinzu :


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
Konfiguration abgeschlossen

Starten Sie httpd oder php-fpm neu, damit es wirksam wird

5. Versionsauswahl

php5.3. xx verfügbare Eaccelerator-Version 0.9.6

php5.2.xx verfügbare Eaccelerator-0.9.5.2-Version

2) Xcache

1 Einführung

XCache ist eine schnelle und stabiler PHP-Opcode-Cache. Gut getestet und stabil auf Produktionsmaschinen mit hohem Datenverkehr und hoher Last. Unterstützt die neuesten Versionen aller aktuellen PHP-Zweige, z. B. PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6 .x) und Unterstützt Thread-Sicherheit/Windows und ist überlegen, z. B. in der Lage, PHP-Versionen schnell zu verfolgen. Das XCache-Projekt wird von mOo geleitet, einem der schnellsten Entwicklungsmitglieder von Lighttpd Eine der Webserver-Anwendungen, die Apache und viele andere Webserver übertrifft. 2. Installieren Sie

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. Konfigurieren Sie PHP zum Laden von xcache

cd /usr/local/php/lib/

Ändern Sie xcache-1.3.2/xcache.ini. Sie können den Befehl sed verwenden, um
Kommentieren Sie die dritte Zeile

echo >> php.ini
echo "xcache config by ZhangDejin 2017-12-1"


Kommentieren Sie die sechste Zeile

zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so


Aktivieren Sie die achte Zeile

zend_extension_ts = c:/php/extensions/php_xcache.dll


Die restlichen Parameter basieren auf der Serverkonfiguration
und dann zu php.ini hinzufügen

;extension = xcache.so



Testen

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

HTTPD oder PHP-FPM neu starten, damit es wirksam wird

3) Memcache-Client, PDO_mysql, Imagick-Erweiterungsbibliothek

/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. Einführung

Memcache ist ein leistungsstarkes verteiltes Speicherobjekt

Caching-System

, das in verwendet wird Speicher Darin wird eine einheitliche riesige Hash-Tabelle verwaltet, die zum Speichern von Daten in verschiedenen Formaten, einschließlich Bildern, Videodateien und Datenbankabrufergebnissen, verwendet werden kann. Einfach ausgedrückt, werden die Daten in den Speicher aufgerufen und dann aus dem Speicher gelesen Erhebliche Verbesserung der Lesegeschwindigkeit

Die PDO-Erweiterung definiert eine leichte, konsistente Schnittstelle für den Zugriff auf die Datenbank durch PHP. Sie bietet eine Abstraktionsschicht für den Datenzugriff, sodass Abfragen unabhängig von der verwendeten Datenbank konsistent ausgeführt werden können Funktionen

ImageMagick ist eine Reihe leistungsstarker, stabiler und kostenloser Arbeitssets und Entwicklungskits, die Bildtypen in mehr als 89 Formaten ändern, drehen, schärfen und verkleinern können. Der Schwerpunkt liegt jetzt auf Farbe auf Leistung, Reduzierung von Fehlern und Bereitstellung stabiler API und ABI

2. Installieren

Nginx-Kompilierungsparameter anzeigen

nginx - V

httpd-Kompilierungsparameter anzeigen

cat httpd/build/config.nice
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:
MySQL-Kompilierungsparameter anzeigen

grep "CONFIGURE_LINE" mysql/bin/mysqlbug
PHP-Kompilierungsparameter
php/bin /php -i|grep configure

Abschließen


Ich glaube, dass Sie die Methode beherrschen, nachdem Sie diese Fälle gelesen haben. Für weitere spannende Informationen achten Sie bitte auf andere verwandte Themen auf der chinesischen PHP-Website!

Verwandte Lektüre:

Antworten auf Fragen zur Kamelfallbenennung und JS

Boolesche Werte, relationale Operatoren in JS, Detaillierte Erklärung und Beispiele für logische Operatoren

Zusammenfassung des Front-End-JS-Frameworks und Erläuterung seiner Verwendung

Das obige ist der detaillierte Inhalt vonImplementierungsschritte für die PHP-Cache-Optimierung mit memcached und xcache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn