티스토리 뷰
캐시란?
캐시란? 캐시는 컴퓨팅 환경에서 일시적으로 무언가를 저장하기 위해 사용되는 하드웨어 또는 소프트웨어입니다. 이는 최근 또는 자주 액세스하는 데이터의 성능을 향상시키는 데 사용되는 보다 빠르고 더 비싼 소량의 메모리입니다. 캐시된 데이터는 캐시 클라이언트에 대해 로컬로 메인 스토리지와 분리된 액세스 가능한 스토리지 미디어에 일시적으로 저장됩니다. 캐시는 중앙 처리 장치, 애플리케이션, 웹 브라우저 및 운영 체제에서 일반적으로 사용됩니다. 대용량 또는 메인 스토리지가 클라이언트의 요구를 따라가지 못하기 때문에 캐시가 사용됩니다. 캐시는 데이터 액세스 시간을 단축하고 지연 시간을 단축하며 입출력을 향상시킵니다. 거의 모든 애플리케이션 워크로드가 작업에 의존하기 때문에 캐싱 프로세스를 통해 애플리케이션 성능이 향상됩니다. 이러한 캐시는 어떻게 작동할까요? 캐시의 작동원리는 다음과 같습니다. 캐시 클라이언트는 데이터에 액세스하려고 하면 먼저 캐시를 확인합니다. 데이터가 발견된 경우 이를 캐시 히트라고 합니다. 캐시 적중률이 되는 시행 비율을 캐시 적중률 또는 비율이라고 합니다. 캐시에 없는 요청된 데이터는 메인 메모리에서 꺼내 캐시에 복사됩니다. 이 작업을 수행하는 방법과 새 데이터를 위한 공간을 확보하기 위해 캐시에서 꺼내는 데이터는 사용되는 캐싱 알고리즘, 캐시 프로토콜 및 시스템 정책에 따라 달라집니다. 사파리, 파이어폭스 및 크롬과 같은 웹 브라우저는 자주 액세스하는 웹 페이지의 성능을 향상시키기 위해 브라우저 캐싱을 사용합니다. 사용자가 웹 페이지를 방문하면 요청된 파일은 사용자의 컴퓨팅 스토리지에 있는 해당 브라우저의 캐시에 저장됩니다. 이전에 접근한 페이지를 검색하기 위해 브라우저는 필요한 파일의 대부분을 웹 서버에서 재발송하는 것이 아니라 캐시에서 가져옵니다. 이 방식을 읽기 캐시라고 합니다. 브라우저는 웹 페이지에서 파일을 다시 읽을 때보다 브라우저 캐시에서 데이터를 더 빨리 읽을 수 있습니다. 이러한 캐시가 중요한 이유는 다음과 같습니다. 먼저 캐시를 사용하면 활성 데이터의 대기 시간이 줄어듭니다. 이것에 의해서 시스템 또는 애플리케이션의 퍼포먼스가 향상됩니다. 그리고 데이터는 기존 스토리지 또는 외부 스토리지 어레이에 영속적으로 남아 있을 수 있습니다. 이것에 의해서 스토리지 또는 어레이가 제공하는 스냅샷이나 레플리케이션등의 기능을 사용해 데이터의 일관성과 정합성이 유지됩니다. 그리고 플래시는 워크로드 중 짧은 지연 시간으로 인해 이점을 얻을 수 있는 부분에만 사용됩니다. 그 결과로는 고가의 스토리지를 비용 효율적으로 사용할 수 있게 됩니다. 캐시 메모리는 CPU에 내장되어 있거나 메인보드의 칩에 내장되어 있습니다. 새로운 머신에서는 캐시 메모리를 늘리는 유일한 방법은 메인보드와 CPU를 최신 세대로 업그레이드하는 것입니다. 오래된 시스템 보드에는 캐시 메모리를 늘리기 위해 사용할 수 있는 빈 슬롯이 있을 수 있습니다. 이러한 캐시는 어떻게 사용될까요? 캐시는 하드웨어 및 소프트웨어 컴포넌트를 사용하여 임시 파일을 저장하는 데 사용됩니다. 하드웨어 캐시의 예로는 CPU 캐시가 있습니다. 이것은 최근에 사용되었거나 자주 사용되는 기본 컴퓨터 명령을 저장하는 데 사용되는 컴퓨터 프로세서의 작은 메모리 청크입니다. 또한, 많은 애플리케이션과 소프트웨어에는 자체 캐시가 있습니다.이 유형의 캐시는 빠른 검색을 위해 앱 관련 데이터, 파일 또는 지침을 임시로 저장합니다. 웹 브라우저는 응용 프로그램 캐싱의 좋은 예시입니다. 앞서 설명한 바와 같이 브라우저에는 향후 세션에서 사용하기 위해 이전 브라우징 세션의 정보를 저장하는 자체 캐시가 있습니다. 유튜브 비디오를 다시 보고 싶은 사용자는 이전 세션에서 저장된 캐시에서 브라우저가 액세스하기 때문에 비디오를 더 빨리 로드할 수 있습니다. 캐시를 사용하는 다른 유형의 소프트웨어는 다음과 같습니다. 일반적으로 사용되는 지침과 파일이 저장되는 운영 체제 및 콘텐츠 전송 네트워크입니다. 웹 사이트를 보다 빠르게 전송하기 위해 정보가 서버 측에 캐시됩니다. 그리고 도메인 네임 시스템입니다. 도메인 이름을 인터넷 프로토콜 주소로 변환하는 데 사용되는 정보를 저장하는 데 사용할 수 있습니다. 그리고 데이터베이스입니다. 데이터베이스 쿼리의 지연 시간을 줄일 수 있습니다. 이러한 캐시 유형은 다음과 같습니다. 캐시 메모리는 마이크로프로세서가 일반 RAM에 액세스하는 것보다 더 빠르게 액세스할 수 있는 RAM입니다. 많은 경우 CPU에 직접 연결되며 많이 액세스하는 명령을 캐시하는 데 사용됩니다. RAM 캐시는 디스크 기반보다 빠르지만 CPU에 가깝기 때문에 RAM 캐시보다 캐시 메모리가 더 빠릅니다. 그리고 캐시 서버는 전용 네트워크 서버 또는 서비스입니다.캐시 서버는 웹 페이지 또는 기타 인터넷 콘텐츠를 로컬로 저장합니다. CPU 캐시는 CPU에 배치된 메모리의 비트입니다. 이 메모리는 시스템버스 속도가 아닌 CPU 속도로 동작하며 RAM보다 훨씬 빠릅니다. 또한, 디스크 캐시는 최근에 읽은 데이터를 보관하고 있으며 곧 액세스할 수 있는 인접 데이터 영역도 보관합니다. 일부 디스크는 읽기 빈도에 따라 데이터를 캐시합니다. 자주 읽히는 스토리지 블록을 핫 블록이라고 하며 자동으로 캐시에 전송됩니다. 솔리드 스테이트 드라이브 캐싱이라고도 하는 플래시 캐시는 NAND 플래시 메모리 칩을 사용하여 데이터를 임시로 저장합니다. 플래시 캐시는 캐시가 기존 하드디스크 드라이브 또는 백업 저장소에 있는 경우보다 데이터 요청을 더 빠르게 처리합니다. 더불어 영구 캐시는 시스템 재부팅이나 크래시 발생 시 데이터가 손실되지 않는 스토리지 용량입니다. 배터리 백업은 데이터 손실을 방지하기 위해 데이터 또는 데이터를 배터리 백업식 다이내믹 RAM으로 플래시하기 위해 사용됩니다. RAM 캐시에는 보통 메인보드에 내장된 영구 메모리와 전용 슬롯 또는 접속 장소에 설치할 수 있는 메모리 모듈이 포함됩니다. 메인보드 버스를 통해 이 메모리에 액세스할 수 있습니다. CPU 캐시 메모리는 RAM보다 10배에서 100배 빠르기 때문에 CPU 요구에 응답하는 데 몇 나노초밖에 필요하지 않습니다. RAM 캐시는 자기 미디어보다 응답 시간이 빠르며 IO를 밀리초 단위로 제공합니다. 변환 룩사이드 버퍼는 가상 메모리의 물리 주소로의 최근 변환을 저장하고 가상 메모리의 동작을 고속화하는 메모리 캐시입니다. 지금까지 캐시의 작동원리와 유형에 대해서 알려드렸습니다.