bootstrap

БлогУскоряем бутстрап или борьба с неправильным удалением модулей

На одном из проектов я столкнулся с необходимостью оптимизации сайта. Проанализировав серверную часть сайта я заметил, что бутстрап на каждую загрузку страницы съедал ~350 милисекунд. Довольно много, учитывая, что это лишь загрузка необходимых компонентов. Потратив ещё некоторое время на поиск проблемы я выяснил, что каждый раз при загрузке страницы Друпал сканировал все мои папки с темами и модулями заново. Это и являлось основой задержкой в бутстрапе, т.к. на это сканирование тратилось около 280 милисекунд (102 модуля и 2 темы). И это при том, что проект стоит на отдельном сервере, который полностью заточен под Drupal 7.

После осознания проблемы у меня возникло два вполне логичных вопроса:
1. Какого @#$ так долго?
2. Почему это нельзя было закэшировать?

Как выяснилось - Друпал это уже кэширует. И всё обычно хорошо и правильно работает ... пока разработчик не начинает удалять модули неправильно. Некоторые разработчики удаляют модули деревянным способом: физическим удалением модуля с сервера. И вроде бы модуль перестаёт работать, и вроде бы результат достигнут... Однако что при этом происходит в Друпале?