Verbessert APC die Leistung mit PHP 5.3+ wirklich?

7

Laut einem Linux- Administrator bei Hostgator :

Mit PHP 5.3 ist die Installation von APC nicht erforderlich, da PHP 5.3 bereits Verbesserungen enthält, die APC darin auflöst.

Ist diese Aussage tatsächlich richtig? Bietet die Installation von APC (Alternative PHP Cache) Leistungsverbesserungen mit PHP 5.3?

Ich habe diese Aussage in Frage gestellt und ein anderer Administrator hat sie verteidigt durch:

Das offizielle Wort unserer Administratoren der oberen Ebene lautet, APC zu vermeiden, da sich PHP 5.3+ gegenüber früheren Versionen verbessert hat, sodass APC möglicherweise überflüssig oder sogar widersprüchlich werden kann

Werde ich hier herumgeworfen oder ist diese Aussage gültig ? Dieses Problem wurde mit Hostgator im Zusammenhang mit der Installation von APC auf dem Level 7 VPS besprochen .

Ch-C
quelle
PHP 5.3 fügt der Sprache keinen Opcode-Cache hinzu. Der eigentliche Grund ist wahrscheinlich nur, dass es etwas schwierig ist, APC zum Shared Hosting hinzuzufügen. serverfault.com/questions/179081/… Dass Ihr Host Ihnen eine BS-Antwort anstelle eines absolut gültigen Grundes gibt, ist ein schlechtes, schlechtes Zeichen.
Ceejayoz
@ceejayoz Als ich mit ihnen über die Installation von APC sprach, war es für ein Level 7 VPS.
Ch-C
5
Hier ist ein PHP 5.4-Benchmark mit und ohne APC. ricardclau.com/2013/03/… Ich kann kein Negativ beweisen - fragen Sie, was genau zu PHP 5.3 hinzugefügt wurde, das die Notwendigkeit eines Opcode-Cache ersetzt. Ich kann mir vorstellen, dass es ihnen schwer fallen wird, etwas zu zeigen. Wieder scheißen sie dich. Mit APC und Memcached können Sie die Leistung verbessern. Wenn Sie Kapazitätsprobleme haben, können Sie wahrscheinlich gemeinsam von beiden profitieren.
Ceejayoz

Antworten:

5

Der Zweck von APC besteht darin, Folgendes bereitzustellen:

  • Opcode-Cache (kurz gesagt: Speichern von kompiliertem PHP-Code im Speicher zur Wiederverwendung / Leistung)
  • Datenspeicher (Bereitstellung einer API für PHP-Code zum dauerhaften Speichern und Abrufen von Daten im / vom Speicher)

Die Veröffentlichung von PHP 5.3 ist zwar im Allgemeinen eine wichtige Version, verfügt jedoch nativ nicht über eine solche Funktionalität.

Das kommende PHP 5.5 soll Zend Optimizer für den Opcode-Cache (aber keinen Datenspeicher) integrieren.

In bestimmten Fällen kann es zu Konfigurations-, Sicherheits-, Ressourcenverbrauchs- und anderen Überlegungen kommen, die von APC abraten.

Es ist jedoch offensichtlich falsch, dass PHP 5.3 irgendwie über Ersatzfunktionen verfügt und kein Opcode-Caching (APC oder anderes) erforderlich ist.

Das allererste, was Sie tun sollten, wenn Sie es noch nicht getan haben, ist die Installation des Opcode-Cache.

Rasmus Lerdorf (Schöpfer von PHP)

Digg Technical Talks - PHP-Leistung 00:17:21

Selten
quelle
Der Hostgator-Administrator antwortet auf dieses Problem, nachdem er diese Frage gelesen hat: "Ich habe mich zu diesem Problem mit einem unserer Administratoren der oberen Ebene beraten, und es scheint, dass unsere interne Dokumentation zu APC nicht so klar war, wie sie sein sollte. Unsere Dokumentation ist gemeint Wir sollten davon abraten, Opcode-Caching zu empfehlen, da es als eine Art Bandaid für schlecht funktionierenden PHP-Code fungiert, anstatt das zugrunde liegende Problem zu beheben. Sie haben Recht, dass APC durch PHP 5.3 nicht unnötig gemacht wird und Leistungsverbesserungen für Websites bieten kann sogar in einer PHP 5.3-Umgebung; jedoch ... "
Ch-C
"... die Optimierung Ihres PHP-Codes und die Verwendung von Objekt-Caching (z. B. Memcached) ist eine bessere langfristige Lösung als Opcode-Caching (APC). Die eigentliche Kompilierung von PHP-Code sollte nicht der Engpass in der Leistung Ihrer Site sein. Opcode-Caching (APC) ) wird zum Zwischenspeichern von vorkompiliertem PHP-Code verwendet, während das Zwischenspeichern von Objekten (memcached) zum Zwischenspeichern der vom Code verwendeten tatsächlichen Daten verwendet wird. Das Zwischenspeichern von Objekten kann eine bessere Leistung bei der Verwendung und Wiederverwendung von Daten durch Ihre Websites ermöglichen Durch das Zwischenspeichern von Opcodes kann Ihr Code im Wesentlichen schneller ausgeführt werden. "
Ch-C
2
Zitat von Rasmus Lerdorf hinzugefügt, wie bandaid Opcode ist. Hostgator kann ihm ihre Gedanken zu PHP mitteilen , und ich schlage vor, Sie verschwenden keine Zeit mehr damit. :)
Rarst
Ihre Antwort lautet also im Grunde "Entschuldigung, wir haben Sie BSing, also hier noch ein paar nicht unterstützte BS". Hostgator ist jetzt definitiv auf meiner "Never Use" -Liste.
Ceejayoz