우리는 Symfony2 애플리케이션에서 ESI에 포함시키고 자하는 매우 작은 블록을 많이 가지고 있습니다. 구체적으로는 제품 목록에 표시되는 등급 별과 사용자 목록에 표시되는 사용자 아바타 및 순위에 대한 등급입니다. 목록 항목에 대한 정보가 매우 작습니다. 질문의 일부는 작은 블록에 URL이 필요하지 않지만 ESI로 렌더링하려면 URL을 제공해야한다는 것입니다. 나에게 URL을 사용하여 공개적으로 사용 가능하게하는 것이 디자인 결함 인 것 같기 때문에이를 수행하는 것이 설계상의 결함인가? ESI 블록의 많은 양의Edge Side를 사용하여 캐싱 Is 많은 작은 블록에 좋은 연습을 포함합니까?
4
A
답변
0
당신의 생각은 니스와 아주 좋은 일이 아니다. 그 이유는 ESI 요청이 절대로 발행되지 않기 때문입니다. 앞으로 출시 될 기능이며 4.0 버전의 출시로 훨씬 더 가까워 졌다고 생각하지만 거기에는 없습니다.
더 나은 솔루션은 아마 다음 태그 금지 할/정화 사용자의 사용자 ID에 따라 페이지에 태그를하고있다.
많은 사용자와 많은 별, 많은 아바타가있는 경우 모든 웹 사이트에 대해 수십 회의 esi 호출을 수행함으로써 발생하는 오버 헤드로 인해 성능이 저하 될 수 있습니다. –
ESI 라운드가 바니시와 같은 네이티브 리버스 프록시에 팁을 준다면 성능에 미치는 영향에 대한 벤치 마크가 있습니까? Okey, 블록 자체가 역방향 프록시에 캐시되지 않은 경우 역방향 프록시는 원인을 매우 비싸게 차단하도록 응용 프로그램에 요청해야합니다. –
내가 아는 그. 방금 설명한 문제로 인해 ESI의 방대한 사용을 리팩터링 한 프로젝트의 동료와 장기적으로 아무 것도 얻지 못했던 엄청난 오버 헤드가있었습니다. –