Die Produkte, die Sie auflisten, dienen unterschiedlichen Zwecken.
OPCode-Caches
Es gibt viele PHP-Beschleuniger (OPCaches), die in dieser Wikipedia-Liste aufgeführt sind . Wie bei Open-Source-Produkten üblich, sind sie alle ziemlich ähnlich. XCache ist der Lighttp-PHP-Beschleuniger und die Standardeinstellung, wenn Sie dieses HTTPd ausführen. Es funktioniert auch gut mit Apache, jedoch scheint APC etwas besser zu sein, da es sozial gesehen "gut mit anderen zusammenarbeitet", offiziell als Teil von PHP unterstützt wird und im Einklang mit der offiziellen PHP-Distribution veröffentlicht wird.
Ich habe den Einsatz von eAccelerator aufgegeben, da er sich verlangsamt und den Veröffentlichungen von PHP hinterherhinkt. Der offizielle Status, den APC bietet, ist vergleichbar.
Diese Produkte sind in der Regel Drop-In; Kein sofortiger Leistungsschub durch Codeänderung. Bei großen Codebasen (Drupal, Wordpress) kann die Leistung bis zu dreimal besser sein, während die Antwortzeit und der Speicherbedarf gesenkt werden.
Daten-Caching
Memcache ist ein etwas anderes Produkt - Sie können es sich als leichtes Schlüsselwertsystem vorstellen, das auf mehrere Server skaliert werden kann . Die Software muss verbessert werden, um Memcache zu unterstützen, und löst bestimmte Probleme besser als andere. Wenn Ihre Website eine Liste mit Echtzeitaktienwerten enthält, können Sie Memcache verwenden, um eine residente Liste mit dem aktuellen Wert zu erstellen, der auf Ihrer Website angezeigt wird. Sie können es verwenden, um Sitzungsdaten für die kurzfristige Wiederverwendung zu speichern. Sie würden es nicht für andere Dinge wie Ganzseiten-Caches oder als Ersatz für MySQL verwenden.
Es gibt auch Wordpress-Addons wie WP-Super-Cache , die die Leistung von Wordpress drastisch verbessern können (tatsächlich kann WP-Super-Cache in vielen Fällen mit statischen HTML-basierten Sites mithalten).
Zusammenfassend kann ich sagen, dass ich APC wärmstens empfehlen würde, wenn Sie ein "Set it and forget it, gut unterstütztes Produkt" möchten.
[4]: http://
" aus, um das Problem zu beheben.Auf stackoverflow wurde eine gute Antwort gepostet, die Ihre Frage gut beantwortet.
https://stackoverflow.com/questions/28716/which-php-opcode-cacher-should-i-use-to-prove-performance
quelle
APC wird in PHP6 integriert, daher ist dies eine logische Entscheidung. Ich benutze es und der Leistungsschub ist erstaunlich. Wenn Sie etwas anderes als Opcodes (z. B. Datenbank-Abfrageergebnisse) zwischenspeichern müssen, können Sie auch APC verwenden, es ist jedoch nicht möglich, APC-Caches zwischen mehreren Servern zu teilen. Wenn Sie nur auf einem einzigen Server zwischenspeichern müssen, ist APC großartig. Wenn Sie auf mehrere Server skalieren und einen Cache gemeinsam nutzen möchten, ist memcached Ihr Mann.
Eine Sache, die ich jedoch tun würde, ist, eine Wrapper-Klasse für jedes (Nicht-Opcode-) Caching zu erstellen, das Sie durchführen. Auf diese Weise können Sie die Caching-Engine austauschen, ohne Ihren Code zu ändern.
quelle
Nur um festzustellen, dass sich die Dinge ein wenig geändert haben und es den Anschein hat, dass APC nicht in PHP 6 Core enthalten sein wird.
APC hat eine langsame Entwicklung und es sieht so aus, als würde es niemals mit PHP 5.5 kompatibel sein. Aus diesem Grund werden wohl Leute von PHP die Zend OPCache-Opcode-Cache-Erweiterung als PHP CORE-Erweiterung festlegen. Lesen Sie hier mehr darüber http://wiki.php.net/rfc/optimizerplus .
Wichtiger Hinweis: Zend OPCache verfügt nicht über einen Benutzerdaten-Cache wie APC. Wenn Sie also einen Benutzerdaten-Cache benötigen, können Sie diesen zusammen mit Memcache verwenden.
quelle
Wenn Sie mindestens die PHP-Version 5.50 ausführen, ist OpCache die beste Wahl (native PHP / PECL-Bibliothek). Es sollte vorkompiliert sein, wenn es aus einer Binärdatei installiert wird.
http://php.net/manual/en/book.opcache.php
Wenn Sie eine PHP-Version vor 5.5 ausführen, ist APC (PHP / PECL-nativer OpCode-Cache) die einfachste Wahl, obwohl dies als nicht gepflegt und tot angesehen wird:
http://php.net/manual/en/book.apc.php
Die Verwendung der nativen OpCache-Funktionalität von PHP erspart Ihnen die Pflege von Bibliotheken von Drittanbietern.
quelle
Memcache speichert Schlüssel / Wert-Paare zwischen, keine Opcodes. Sie können es zusammen mit einem der Opcode-Caches verwenden.
quelle