웹 서버 부담 덜고, 컨텐츠는 신선하게, “ESI가 뜬다”
상태바
웹 서버 부담 덜고, 컨텐츠는 신선하게, “ESI가 뜬다”
  • Network Computing
  • 승인 2002.02.28 00:00
  • 댓글 0
이 기사를 공유합니다

ESI는 동적 캐싱을 둘러싼 성능 문제에 대한 솔루션이다. 기업에 있어 ESI 채택은 데이터센터 내의 하드웨어 및 소프트웨어 유지보수 비용의 절감과 책임이 다시 캐싱 업계로 옮겨간다는 것을 의미한다. ESI가 제 때에 폭 넓게 사용되어 비틀거리는 서비스 기반 캐싱 업계를 부양시킬 수 있을지 여부는 아직 불투명하지만, 그 와중에서도 이것은 알아둘 만한 가치가 있는 기술임이 분명하다.

매출 창출을 위해 웹사이트에 의존하는 기업들에게 있어, 다소 알려지지 않은 ESI(Edge Side Includes) 사양의 등장은 중요하다. 아마존닷컴(Amazon.com)과 같은 대형 B2C(Business to Consumer) 사이트의 경우, 디지털 아일랜드(Digital Island)나 아카마이(Akamai)와 같은 회사를 이용해 트래픽의 신속한 이동을 보장하고 있다. 이러한 회사들은 에지 캐싱을 이용해 컨텐츠를 네트워크 에지로 이동시킴으로써, 전세계에 있는 원천지 서버들로부터 초당 수 천 개의 이미지와 정적 컨텐츠를 지원해야 하는 압박을 덜어준다.

이것은 정적 컨텐츠에서는 잘 작동하지만, 동적 컨텐츠에서는 그렇지가 못하다. 사이트가 개인화된 실시간 컨텐츠를 제공하기 위해 빨리 이동하면, 성능 부담은 다시 서버 팜으로 옮겨지며, 따라서 응답 시간과 가용성 문제는 또다시 늘어나게 된다.

캐싱업계 부양 여부 불투명

ESI는 동적 캐싱을 둘러싼 성능 문제에 대한 솔루션이다. 기업에 있어 ESI 채택은 데이터센터 내의 하드웨어 및 소프트웨어 유지보수 비용의 절감과 책임이 다시 캐싱 업계로 옮겨간다는 것을 의미한다. 이것은 또한 개발자들에게도 수용되어야 하며, 이들은 이 기술을 배우고 이행해야 한다. 이것은 하나의 약점인데, 그 이유는 캐싱이 전통적으로 투명하며, 로컬 동적 캐싱 솔루션들은 그러한 경향에 따라왔기 때문이다.

ESI가 제 때에 폭 넓게 사용되어 비틀거리는 서비스 기반 캐싱 업계를 부양시킬 수 있을지 여부는 아직 불투명하다. 하지만, 그 와중에서도 이것은 알아둘 만한 가치가 있는 기술임이 분명하다.

대부분의 동적 컨텐츠는 ASP(Active Server Page), JSP(Java Server Page), PHP(Hypertext Preprocessor), 혹은 실질적인 컨텐츠가 저장된 데이터베이스와 상호작동하는 PERL과 같은 CGI(Common Gateway Interface) 애플리케이션을 통해 퍼블리싱 된다. 최근 인터넷 상에서의 개인화 및 포털화 물결은 곧 웹 컨텐츠의 많은 부분이 다시 데이터베이스로 이동하며, 여기에는 서버 쪽 기술의 이용 증가가 수반된다는 것을 의미한다. 이 모델은 개발자 입장에서 훨씬 더 쉬우며, 사용자에게는 더욱 풍부하고 인터랙티브한 경험을 제공하지만, 이 동적 컨텐츠는 전통적인 캐싱 기술에 의해 수용될 수가 없다.

동적 컨텐츠는 원천지 서버에 의해 생성돼야 할 뿐만 아니라 포매팅 되고, 브라우저로 전달돼야 하기 때문에, 요청을 처리하고 데이터베이스 질의를 수행하며, 브라우저로 다시 보내기 전에 데이터를 포매팅하기 위해 서버 쪽 모듈을 사용할 때 디스크 I/O, 네트워크 및 메모리 오버헤드를 야기한다.

일간 뉴스를 포함하고 있는 웹 페이지를 생각해 보자. 각각의 요청은 원천지 서버로 전달돼야 하는데, 그 이유는 이 뉴스가 보통 데이터베이스나 파일에 저장돼 뉴스가 계속 바뀔 때 캐싱되지 못하기 때문이다.

이러한 상황에 대응해, 많은 캐시 장비(와 캐시 방향조정을 지원하는 부하조절기) 제조업체들은 자신들의 제품이 동적 컨텐츠에 대한 요청을 캐시에 먼저 보내는 게 아니라 원천지 서버로 직접 전달한다고 당당히 내세우고 이다. 하지만, 이것 또한 그리 좋은 방법이 아닌데, 그 이유는 원천지 서버가 처리해야 할 일들이 더 많아져서 이 서버에 더 많은 압박이 가기 때문이다. 따라서 웹 서버는 또다시 컨텐츠를 지원하고 요청 및 브라우저를 처리하느라 부담을 안게 된다.

ESI는 동적 컨텐츠 전달 속도를 높이기 위해 캐싱이 가능하고 불가능한(cachable/noncachable) 컨텐츠를 설명하는 한 가지 방법이다. 가장 중요한 것은 ESI에는 또한 원천지 서버나 조직의 컨텐츠 관리 시스템이 컨텐츠를 업데이트 하는 데 필요한 에지쪽 캐시를 지적할 수 있게 해주는 무효화(invalidation) 프로토콜이 포함돼 있다는 것이다.

일간 뉴스를 포함하고 있는 웹 페이지를 다시 생각해보자. 큰 그림에서는 뉴스 아이템이 동적이지만, 이것은 반드시 개인화될 필요가 없다. 이 아이템은 특정 주기로 캐싱이 가능하며, 아마 그 주기에 에지 캐시 안에 저장되어 뉴스가 만기될 때만 원천지 서버나 컨텐츠 관리 시스템에 의해 지적되어 업데이트될 수 있을 것이다. ESI 사양은 에지 쪽 캐시에서 컨텐츠를 저장 및 무효화하는 방법을 제공하기 때문에, 방대한 양의 트래픽을 덜어주고, 특정 유형의 동적 컨텐츠를 처리해주는 기능을 제공한다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.