본문 바로가기

카테고리 없음

[it정보] memcached를 적용하여 사이트 성능 향상

http://www.ibm.com/developerworks/kr/library/os-memcached/index.html


소개

memcached는 애플리케이션 프로세스의 속도를 높이는 데 사용된다. 여기에서는 사용자의 애플리케이션과 환경 내에서 이를 배치하기 위한 모범 사례에 주목할 것이다. 이는 저장해야 하는 것과 저장하지 말아야 할 것, 데이터의 유연한 분배를 처리하는 방법 및 데이터의 memcached로 저장된 버전을 업데이트하기 위한 메소드를 규제하는 방법이 포함된다. 또한 IBM WebSphere® eXtreme Scale을 비롯한 고가용성 솔루션의 지원에 대해서도 다룰 것이다.

memcached는 많은 서버에서 여유 RAM을 활용하도록 설계된 오픈 소스 프로젝트로서, 자주 액세스하는 정보에 대해 메모리 캐시로서 작동한다. 핵심 요소는 캐시(cache)라는 단어의 사용이다. 즉, memcached는 아무 곳에서부터 로드할 수 있는 정보의 임시 스토리지를 메모리 내에 제공한다.


http://www.solanara.net/solanara/memcached

** 개요

  • memcached 는 이름 그대로 메모리 캐시를 관리해주는 데몬이다. memcache 라는 이름의 라이브러리가 많은데, 여기서 설명하는 건 '데몬'이다.
  • memcached 는 LiveJournal을 개발한 Brad Fitzpatrick 이 개발했다. 유투브나 아마존, 위키피디아, 소스포지, 트위터 등 많은 대형 사이트에서 사용되고 있는 데몬이다.
  • memcached 운용시 시스템의 메모리를 모니터링해, 스왑이 일어나지 않도록 해야한다. memcached는 스왑이 일어나지 않을 정도로 메모리는 여유있다는 가정하에 개발되었다고 한다. 메모리가 부족해 스왑이 일어나 메모리에 저장했던 컨텐츠가 스왑 디스크에 저장되면, 심각한 속도 저하가 있을 것이다.
  • memcached - a distributed memory object caching system
memcached 설치에는 libevent 라이브러리가 필요하다. 이 라이브러리는 이벤트(예를 들어 시그널이나 타입아웃)가 발생했을 때 콜백 함수를 쉽게 호출할 수 있도록 도와주는 라이브러리다.
libevent