Drupal 7을 APC, Varnish 및 Memcache와 함께 사용하면 어떤 캐시에 어떤 저장소를 넣을 수 있습니까?


12

Drupal 7 웹 사이트를 최적화하고 있으며 광택, memcache 및 APC가 모두 설치되어 개별 Drupal 7 모듈과 함께 작동합니다. 내 settings.php에 $conf아래 옵션이 있습니다.

내 질문은 더 나은 성능을 얻고 모든 캐시가 잘 작동하도록하는 것입니다. 더 많은 구성 옵션을 추가해야합니까?

모듈 readme는 일반적으로 단일 캐시 시스템을 가정합니다. 3 개의 개별 캐싱 백엔드를 실행하여 성능을 향상시키는 데 필요한 조정이 있습니까?

// Add Varnish as the page cache handler.
$conf['cache_backends'][] = 'sites/all/modules/varnish/varnish.cache.inc';
$conf['cache_class_cache_page'] = 'VarnishCache';
// Drupal 7 does not cache pages when we invoke hooks during bootstrap.
// This needs to be disabled.
$conf['page_cache_invoke_hooks'] = FALSE;

$conf['cache_backends'][] = 'sites/all/modules/apc/drupal_apc_cache.inc';
$conf['cache_class_cache'] = 'DrupalAPCCache';
$conf['cache_class_cache_bootstrap'] = 'DrupalAPCCache';
//$conf['apc_show_debug'] = TRUE;  // Remove the slashes to use debug mode.

$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';

APC 의 프로젝트 페이지가 귀하의 질문에 잘 대답 하는 것 같습니다 .
Letharion

예, 저는 다음과 같은 조언을 할 것입니다 ... "자주 변경되지 않는 캐시에 APC를 사용하고 조각화를 피하기에는 너무 커지지 않습니다. APC의 기본 설정을 사용하면 가능합니다 .." 질문도 니스를 설명하지 않기 때문에 누락 된 특정 구성 변경이있을 수 있습니다. 사용 한 결과를 정확하게 게시 할 것입니다.
user1073319

답변:


6

나에게 좋아 보인다.

시도 할 수있는 것은 Memcache 옵션을 사용하는 것입니다. 예를 들어 압축 플래그가 있지만 압축 / 압축 해제를 수행하기 위해 CPU 사용량이 높기 때문에이를 활성화하는 것이 합리적이라면 사이트에 따라 다릅니다.

또한 page_cache_invoke_hooks 플래그가 더 이상 필요하지 않다고 생각합니다 ( http://drupal.org/node/804864 참조) . 이러한 후크가 필요하지 않으면 설정할 수 있지만 니스가 더 이상 필요하지 않습니다.

여러 웹 서버와 함께 APC 캐시를 사용한다는 것은 하나의 서버에서 캐시를 지울 때 불일치가 발생한다는 것을 의미하므로 여러 서버가있는 경우 Memcache를 cache 및 cache_bootstrap에도 사용할 수 있습니다. APC 캐시를 사용할 때 안정성 문제가 있었지만 모든 캐시에 사용했는데 문제가 있었을 수도 있습니다.


apc, memcache 등과 같은 캐싱 시스템을 두 개 이상 사용하는 데 문제가 있습니까?
chrisjlee

아니요, 원하는대로 혼합 할 수 있습니다. APC에는 '캐시'와 같은 작은 캐시 빈을 넣을 수 있습니다. APC에는 빠르지 만 일반적으로 공간이 많지 않고 더 큰 캐시 빈을 memcache에 넣을 수 있습니다.
Berdir

감사. 내가 어떻게 할 수 있는지 알 수 있습니까?
chrisjlee

각 캐시 빈은 특정 캐시 백엔드를 사용하도록 구성 할 수 있으며, 대부분의 캐시 백엔드는 구성 방법에 대한 설명서가 제공되며 원하는대로 조합 할 수 있습니다.
Berdir

2

memcache 서버 및 각 웹 서버에서 로컬로 Varnish를 사용하여 비슷한 설정을 실행하고 있습니다. Varnish를 사용하여 로컬로 페이지 캐싱하는 것이 memcache를 사용하는 것만 큼 효과적이지 않을 것이라고 생각했습니다.

MongoDB를 실행 중이므로 공유 리소스이기도하기 때문에 MongoDB를 사용하는 것을 고려하고 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.