PHP - это архитектура без общего доступа. Это имеет свои преимущества и недостатки.
Один недостаток заключается в том, что сделать что-то подобное нелегко. Существует не так много состояния, которое может храниться где-то.
Я провел несколько быстрых тестов, и когда я вошел в систему, то boostrap, похоже, занимает около ~ 17% от общего времени, и более 50% из этого фактически загружает все файлы .module и .inc. Это не то, что вы можете хранить в memcache. Кроме того, это не имеет большого значения, если я использую memcache или кэш базы данных.
Я пытался получить некоторые результаты, когда кеш страниц включен, но Xhprof, похоже, не дает надежных результатов; все кажется слишком быстрым. Но даже тогда большая часть включает в себя выполнение перехватов init / exit и загрузку файлов, как кажется. Там я обнаружил интересную проблему: похоже, что пользовательский модуль серьезно замедляет отклик кэшированной страницы, потому что он запускает реестр из-за контроллера сущностей в файле .module.
Тем не менее, Дэвид Стросс продемонстрировал некоторые экспериментальные работы в Копенгагене, где он создал снимок памяти после начальной загрузки, а затем вернулся к нему, как только страница была предоставлена. Для этого он использовал Drupal 6. Взглянув на цифры выше, я представляю, что прирост производительности при выполнении этого в Drupal 7 будет немного меньше. Одной из причин этого является то, что соединение с базой данных загружается лениво (и вы можете зайти довольно далеко в начальной загрузке, когда используете, например, Memcache, прежде чем вам нужно будет выполнить первый запрос), и многое из этого кэшируется.
Что действительно плохо в Drupal 7, так это слой рендера с этими огромными массивами, бесконечными рекурсиями и циклами. Это в значительной степени отменяет всю работу над производительностью, которая шла в Drupal 7. Давайте посмотрим, как это выглядит в Drupal 8, если Twig превратит его в ядро.
Наконец, о упомянутых преимуществах. Одним из больших преимуществ является то, что порезы памяти довольно неактуальны, потому что все освобождается после каждого запроса. Я видел много Java-приложений, где использование памяти постоянно увеличивается и нуждается в регулярных перезапусках.