PHP ist eine gemeinsame Nichts-Architektur. Das hat seine Vor- und Nachteile.
Ein Nachteil ist, dass es nicht einfach ist, so etwas zu tun. Es gibt nicht viel von einem Zustand, der irgendwo gespeichert werden kann.
Ich habe einige schnelle Tests durchgeführt und wenn ich angemeldet bin, scheint der Boostrap ungefähr 17% der Gesamtzeit in Anspruch zu nehmen, und mehr als 50% davon laden tatsächlich alle .module- und .inc-Dateien. Das können Sie nicht im Memcache speichern. Außerdem scheint es nicht wichtig zu sein, ob ich Memcache oder den Datenbankcache verwende.
Ich habe versucht, einige Ergebnisse zu erzielen, wenn der Seitencache aktiviert war, aber Xhprof scheint dann keine zuverlässigen Ergebnisse zu liefern. das Ganze scheint einfach zu schnell zu sein. Aber selbst dann besteht der größte Teil darin, Init / Exit-Hooks auszuführen und Dateien zu laden, wie es scheint. Ich habe dort ein interessantes Problem gefunden: Es sieht so aus, als würde das Benutzermodul die zwischengespeicherte Seitenantwort ernsthaft verlangsamen, da es die Registrierung aufgrund des Entitätscontrollers in der .module-Datei auslöst.
Trotzdem zeigte David Strauss einige experimentelle Arbeiten in Kopenhagen, bei denen er nach dem Bootstrapping einen Speicher-Snapshot erstellte und nach dem Bereitstellen der Seite darauf zurückkam. Dafür hat er Drupal 6 benutzt. Nachdem ich mir die obigen Zahlen angesehen habe, stelle ich mir vor, dass die Leistungssteigerungen in Drupal 7 etwas geringer wären. Ein Grund dafür ist, dass die Datenbankverbindung verzögert geladen ist (und Sie können im Bootstrap ziemlich weit kommen, wenn Sie z. B. Memcache verwenden, bevor Sie die erste Abfrage ausführen müssen), und es wird eine Menge zwischengespeichert.
Was in Drupal 7 wirklich schlecht ist, ist die Renderebene mit diesen riesigen Arrays und endlosen Rekursionen und Schleifen. Das macht so ziemlich die gesamte Performance-Arbeit rückgängig, die in Drupal 7 geleistet wurde. Mal sehen, wie es in Drupal 8 aussieht, wenn Twig es in den Kern schafft.
Zuletzt zu den genannten Vorteilen. Ein großer Vorteil ist, dass Speicher-Lauch ziemlich irrelevant ist, da nach jeder Anforderung alles freigegeben wird. Ich habe viele Java-Anwendungen gesehen, bei denen die Speichernutzung ständig zunimmt und regelmäßige Neustarts erforderlich sind.