PHP는 아무 것도 공유하지 않는 아키텍처입니다. 그것은 장점과 단점이 있습니다.
한 가지 단점은 이와 같은 것을하기가 쉽지 않다는 것입니다. 어딘가에 저장할 수있는 상태가별로 없습니다.
나는 몇 가지 빠른 테스트를했고 로그인 할 때 boostrap은 총 시간의 약 17 %를 차지하고 그 중 50 % 이상이 실제로 모든 .module 및 .inc 파일을로드하는 것 같습니다. 그것은 당신이 memcache에 저장할 수있는 것이 아닙니다. 또한 memcache 또는 데이터베이스 캐시를 사용하면별로 중요하지 않습니다.
페이지 캐시를 활성화 할 때 몇 가지 결과를 얻으려고했지만 Xhprof는 신뢰할 수있는 결과를 반환하지 않는 것 같습니다. 모든 것이 단순히 너무 빠르다. 그러나 그럼에도 불구하고 가장 큰 부분은 init / exit 훅을 실행하고 파일을로드하는 것입니다. 흥미로운 문제가 있습니다. 사용자 모듈이 .module 파일의 엔터티 컨트롤러로 인해 레지스트리를 트리거하기 때문에 캐시 된 페이지 응답이 심각하게 느려지는 것처럼 보입니다.
즉, David Strauss는 코펜하겐에서 부트 스트랩 후 메모리 스냅 샷을 생성 한 다음 페이지가 제공되면 다시 돌아 오는 실험적 작업을 보여주었습니다. 그는 Drupal 6을 사용했습니다. 위의 숫자를 살펴본 후 Drupal 7 에서이 작업을 수행하면 성능이 약간 더 작아 질 것이라고 생각합니다. 이것의 한 가지 이유는 데이터베이스 연결이 느리게로드되고 (예를 들어 첫 번째 쿼리를 실행하기 전에 Memcache를 사용할 때 부트 스트랩에 상당히 많이 도달 할 수 있음) 캐시 된 것이 많이 있기 때문입니다.
무엇 정말 드루팔 7 나쁜 것은이 거대한 배열과 무한 재귀 및 루프와 레이어를 렌더링입니다. 그것은 Drupal 7에 들어간 모든 성능 작업을 거의 취소합니다. Twig가 핵심으로 만들면 Drupal 8에서 어떻게 보이는지 봅시다.
마지막으로 언급 된 장점에 대해. 하나의 큰 장점은 메모리 리크는 각각의 요청 후에 모든 것이 해제되기 때문에 관련이 없다는 것입니다. 메모리 사용량이 지속적으로 증가하고 정기적으로 다시 시작 해야하는 많은 Java 응용 프로그램을 보았습니다.