PHP to wspólna architektura niczego. Ma to swoje zalety i wady.
Wadą jest to, że nie jest łatwo zrobić coś takiego. Nie ma wiele stanów, które można gdzieś zapisać.
Zrobiłem kilka szybkich testów, a po zalogowaniu się, wydaje się, że boostrap zajmuje około ~ 17% całkowitego czasu, a ponad 50% z tego to ładowanie wszystkich plików .module i .inc. To nie jest coś, co można przechowywać w memcache. Ponadto nie wydaje się mieć większego znaczenia, jeśli używam pamięci podręcznej lub pamięci podręcznej bazy danych.
Próbowałem uzyskać pewne wyniki przy włączonej pamięci podręcznej stron, ale Xhprof nie wydaje się wtedy zwracać wiarygodnych wyników; wszystko wydaje się po prostu za szybkie. Ale nawet wtedy największa część polega na wykonywaniu haków inicjujących / wyjściowych i ładowaniu plików. Znalazłem tam interesujący problem: wygląda na to, że moduł użytkownika poważnie spowalnia odpowiedź strony w pamięci podręcznej, ponieważ uruchamia rejestr z powodu kontrolera encji w pliku .module.
To powiedziawszy, David Strauss pokazał pewne prace eksperymentalne w Kopenhadze, gdzie stworzył migawkę pamięci po bootstrapowaniu, a następnie powrócił do tego po wyświetleniu strony. Użył do tego Drupala 6. Po przyjrzeniu się powyższym liczbom wyobrażam sobie, że wzrost wydajności robienia tego w Drupal 7 byłby nieco mniejszy. Jednym z powodów tego jest to, że połączenie z bazą danych jest leniwie załadowane (I możesz dostać się dość daleko w bootstrap, używając np. Memcache, zanim będziesz musiał wykonać pierwsze zapytanie) i jest wiele, które są buforowane.
To, co naprawdę złe w Drupal 7, to warstwa renderowania z tymi ogromnymi tablicami i niekończącymi się rekurencjami i pętlami. Ten w zasadzie odwraca całą pracę związaną z wydajnością w Drupal 7. Zobaczmy, jak to wygląda w Drupal 8, jeśli Twig przekształci się w rdzeń.
Wreszcie o wspomnianych zaletach. Dużą zaletą jest to, że pory pamięci są raczej nieistotne, ponieważ wszystko jest zwalniane po każdym żądaniu. Widziałem wiele aplikacji Java, w których zużycie pamięci stale rośnie i wymagają regularnych restartów.