Markdorison의 대답은 기본적 으로이 문제를 공격하는 데 허용되는 방법입니다. 조금 더 가져 가겠습니다.
당신이있을 때 Pressflow D7, Memcached가와에 대한 D6 또는 드루팔를 들어 니스 모두 잘 작동 함께 사용자 지정 코드로해야합니다 VCL의 파일을. 출발점을 만드는 무료 게임이 있지만 항상 게임을해야합니다.
니스가 최적으로 작동하게하려면 기본값 -s file / path / to / file이 아니라 -s malloc xG로 시작하십시오. 또한 Varnish를 사용하면 가능한 한 Varnish가 정적 항목을 캐시합니다.
웹 서버가 둘 이상인 경우 VCL의 Varnish로 전송 된 헤더에서 ETag를 제거하십시오. 또한 Expires를 제거하고 헤더의 Age 및 Max-age에 의존하므로 브라우저를 사이트로 다시 가져옵니다.
버전 1.5 (2011 년 3 월 3 일 현재)는 Drupal.org의 여전히 가장 빠른 Memcached 모듈 버전입니다. 일반적으로 서버 당 단일 저장소를 사용하여 여러 저장소에 연결하기위한 TCP 트래픽을 줄이기 위해 배포합니다.
"성능"의 캐싱을 외부로 구성하고 올바른 헤더를 Varnish와 같은 캐싱 프록시로 보낼 최대 보존 기간을 설정하십시오.
니스에서 특정 페이지를 제대로 캐시 할 수없는 경우 웹에서 요청을 검사하는 방법을 자세히 설명하는 블로그 게시물을 확인하십시오. 다음은 내가 쓴 글의 예입니다. Varnish 및 Drupal Pressflow가 익명 사용자 페이지 뷰를 캐시하지 못하게하는 이유
MySQL에 대해 InnoDB (또는 XtraDB와 같은 다른 공급자의 다른 이름 중 하나)를 선택하고 모든 테이블을 여기로 이동해야합니다. 그런 다음이 블로그 게시물에서 기본 조정 조언을 확인하십시오. http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/
큰 버퍼 풀을 갖는 것이 기본적으로 중요합니다. 사이트를로드 테스트 할 때 느린 쿼리 로그를 켭니다. 처음에는 50msec보다 오래 걸리는 쿼리를 캡처 한 다음 쿼리를 조정하고 대부분의 쿼리가 인덱스를 사용하여 실행되고 상당히 빠르게 실행될 때까지 느린 로그 캡처 시간을 반복적으로 줄이려고합니다.
다른 기본 사항에는 PHP 용 APC 가 포함됩니다 . mod_php 대신 빠른 CGI를 원한다면 좋은 래퍼 스크립트를 구성하여 PHP 인스턴스에서 APC 캐시를 공유하도록 시간을 보내십시오. 또한 APC 캐시가 메모리 맵 파일에 있는지 확인하여 PHP에서 마지막 비트를 압축하십시오.