Memcached vs APC-welche soll ich wählen?
Habe ich diesen Artikel gelesen: http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/ von Weg zurück, wenn.. ich möchte die beste caching-engine zur Verfügung, so dass meine Anwendung ist wirklich schnell. Natürlich will ich nicht über-cache, aber ich will zumindest wählen Sie das beste, was es gibt. In diesem Artikel heißt es Memcached ist langsam und apc ist schnell, also warum ist jeder Wahl memcached?
http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels hier sagt, "verwenden Sie einen schnellen (aber begrenzten) wie Apc, Memcache... und ein "langsam", ein wie File, Sqlite..." meinst du mit Apc als schnell und Memcache als langsam ist eine gute Idee?
apc_store
. Opcode cache allein macht PHP paar mal schneller.was meinst du? Bedeutet APC erhöhen, PHP Geschwindigkeit nach der installation, auch wenn ich keinen code hinzufügen, um cache nichts in meinen Skripten?
Demaio: In Der Tat. APC ist vor allem eine PHP-optimizer (optimiert durch default-solange es aktiviert ist), und
apc_store()
ist nur ein extra-bonus oben drauf.im Jahr 2014, wenn Sie es nur für die Zwischenspeicherung auf 1 server, gehen für APCu.
Auch stackoverflow.com/q/930877/632951
InformationsquelleAutor Thomaschaaf | 2009-05-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Memcached ist ein verteiltes caching-system, in der Erwägung, dass APC nicht verteilt - und vor allem ein opcode-cache.
Wenn (und nur wenn) Sie eine web-Anwendung, die live auf verschiedenen Web-Servern (loadbalancing), müssen Sie die memcache für verteiltes caching.
Wenn nicht, stecken Sie nur die von APC und seinem cache.
Sollten Sie immer mit einem opcode-cache APC ist (auch APC integriert in php6 iirc, also warum nicht starten Sie es jetzt).
Kann man/sollte sowohl für verschiedene Zwecke.
opcode
cache?Wenn Sie verschiedene Server (wie eine Wolke loadbalaced Umgebung), so lange brauchen Sie nicht zu pflegen/share Zustand über, APC auch funktionieren, als ein straight-up-memory-cache-wenn auch vielleicht nicht so optimal wie jede cloud-Instanz wird warm haben Ihren eigenen cache...
Ein
opcode
cache ist eine Kompilierung der einfachen PHP-code in Maschinen-code ("opcode") und speichert es dann in der kompilierten form für zukünftige Anforderungen (bis er erkennt die original-PHP-Datei geändert hat). Dies bedeutet, dass PHP nicht ausgeführt haben, diese compile-Schritt, der bei jeder einzelnen Anfrage, das spart etwas Zeit. Es ist nur eine der Möglichkeiten, um sicherzustellen, eine schnelle Website, die (unter vielen anderen).Es ist eine interessante Diashow, erläutert einige der Unterschiede mit Grafiken und benchmarks, hier: slideshare.net/FordAntiTrust/php-performance-with-apc-memcached
Kann memechached verwendet werden, die in nicht-verteilten system anstelle von APC? Es wird gut sein, nur behalten, wenn Sie in Zukunft mehr Maschinen. richtig? Oder verwenden Sie beide, einen für den opcode und die andere für extensible Zwischenspeichern?
InformationsquelleAutor Karsten
Memcached, wenn Sie brauchen, um zu bewahren Zustand über mehrere web-Server (wenn Sie Lastenausgleich-und es ist wichtig, dass das, was im cache ist das gleiche für alle Server).
APC, wenn Sie nur Zugang zu schnellen Speicher zu Lesen (& schreiben) auf eine (oder jede) server.
Erinnern APC kann auch kompilieren und beschleunigen Sie Ihren Skript-Ausführungszeit. So könnte man zum Beispiel die Verwendung von APC für erhöhte Ausführung der Leistung während der Verwendung von memcached als cache-Speicher.
2014 update: PHP 5.5 wird nativly Zend Optimizer Plus (die ist nur für opcache, also nicht für Benutzer-cache) und es scheint APC werden nicht entwickelt, die über PHP 5.4? Aber es ist nun APCu pecl.php.net/package/APCu, das dauerte nur die user-cache-Teile an APC
InformationsquelleAutor
Den wichtigsten advatage APC opcode cache. Seit PHP 5.5 integrierten OpCache zu seinem Kern und APC für PHP 5.4 ist noch gekennzeichnet als beta, ist es keine offizielle Nachricht, aber die Entwicklung der APC fallengelassen werden würde in Naher Zukunft.
Also würde ich empfehlen, Sie zu wählen Memcached.
InformationsquelleAutor Hieu Vo
Ich benutze beide, eine für speed und die andere für sync alle meine Server. Wenn Sie verwenden memcache, dann tun Sie bitte beachten Sie die ports öffnen, die Sie benötigen, um zu blockieren mit iptables.
InformationsquelleAutor Saimon Lovell
Hey Thomaschaaf, ich hoffe, das ist nicht tool spät für dich, aber bitte beachten Sie, dass APC hat einige Fragen im Zusammenhang mit "user-cache". Um eine lange Geschichte kurz, wenn Sie die set time-outs für Einträge im cache, oder wenn der apache stürzt in internen APC code (timeout, zum Beispiel), dann haben Sie möglicherweise leiden einige Probleme.
Habe ich einen Eintrag über das Thema hier: http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html, und Sie sollten auch Lesen http://t3.dotgnu.info/blog/php/user-cache-timebomb.html (von einem der APC-Entwickler glaube ich)
InformationsquelleAutor Nir Levy
Ich verwende nur APC, da APC ist ein code-cache und funktioniert wie memcache ! Nur 1 config-Datei anstelle der 2.
Und nur noch 1 Platz zur überwachung der beiden cache.....
InformationsquelleAutor Thomas Decaux
Es hängt davon ab, was du tust, aber für meine drupal-websites laufen auf einem VPS finde ich APC funktioniert Super! Wenn Sie unter CentOS 6 wird es als ein yum update so tot, einfach zu installieren und keine Konfiguration die Standardeinstellungen sind sinnvoll. Ein Klacks imho.
InformationsquelleAutor fred