2014-02-10 5 views
0

데이터가 광택 캐시에서 클라이언트에 제공되는 경우 통계가 히트로 등록됩니다 (nginx 로그에서 파생되었거나 Google 애널리틱스 일 수 있음). 나는 apc가 PHP에만 캐시하기 때문에 통계에는 영향을 미치지 않는다고 믿고 나머지 내용은 여전히 ​​nginx에서 파생됩니다. 마찬가지로 브라우저 캐시는 어떻습니까?Wordpress (varnish + apc + w3tc 사용) : 데이터가 캐시에서 검색 될 때 통계가 업데이트됩니까?

답변

1

바니시는 캐시 히트가 nginx 백엔드에 대한 요청을 초래하지 않으므로 액세스 로그를 기반으로 한 분석에 영향을 미치므로 백엔드에 의해 기록되지 않습니다. 이를 위해서는 setup Varnish logging이 필요합니다.

그러나 Google 애널리틱스는 브라우저에서 실행되는 자바 스크립트를 기반으로 추적하므로 바니시의 영향을받지 않습니다. 브라우저가 페이지 HTML과 자바 스크립트를 캐시하더라도 스크립트는 여전히 실행되고 Google 웹 로그 분석 (또는 Piwik과 같은 다른 자바 스크립트 기반 분석 서비스)에 의해 통계가 기록됩니다.

1

잘 예와 아니오, 그것은 어떤 페이지와 어떤 니스 규칙에 따라, 그리고 정확히 계산하는 것은 그룹에 시도 할 수 있습니다 그들

우리는 액세스 로그와 같은 백엔드 카운터 및 구글 분석 같은 프론트 엔드 카운터가 있습니다.

백엔드 카운터 : 당신은 당신이 총 니스의 인기를 얻고 캐시는 니스 캐시에서 완전히 제공 한 경우, 백엔드도 방문을 알 수 없습니다, 실제로 히트를 기록하는 백엔드을 칠 요청을해야합니다 각 vcl_fetch은 히트를 계산하지만 vcl_hit은 그렇지 않기 때문에 혼란스러운 숫자를 보게됩니다.

그러나 카운터가 vcl_pass의 광택을내는 페이지에 저장되어 있으면 해당 기록이 기록되며 쿠키가 포함 된 페이지와 같이 특별한 작업을 수행 할 필요가 없습니다.

프론트 엔드 카운터 : 경우에도 그 카운터가 분석 코드가 여전히 캐시에서 제공되기 때문에, 캐싱에 의해 영향을, 그리고 계산이 자신의 서버에 일이 그렇게되어서는 안된다 (구글 분석 및 모든 자바 스크립트 분석 라이브러리와 같은) 당신의 nginx 서버가 완전히 죽었고 바니시가 캐시에서 서비스를 제공하고 있기 때문에 카운트는 중단없이 정상적으로 계산됩니다.

PS about wordpress total cache : 정직하게도 나는 그것을 실제로 사용하지 않았고 정확히 어떻게 작동하는지 모르지만 HTML 페이지를 컴파일하여 각 조회에서 데이터베이스를 쿼리하는 대신 직접 처리한다고 가정합니다 , 만약 우리가 바니시가 없다고 가정하면 접근 로그에 기록 될 것입니다. 그러나 예를 들어 article.php에서 실행되는 일종의 데이터베이스 카운터가 있다면 그 파일이 각각 실행되지 않을 가능성이 있기 때문에 문제가있을 수 있습니다 새로운 히트가 오면, 히트 수를 세는 데 php를 사용할 지 다시 한번 확인해야합니다.