Eviction
사전적 의미: "퇴거" "쫓아내기", (주택이나 건물에서 강제로 사람을 내보내는 행위)
the act of forcing someone to leave somewhere, especially their home:
예문: The landlord filed for the tenant's eviction. (집주인은 세입자의 퇴거를 신청했다.)
IT 분야에서 "Eviction" 뜻
IT 분야는 Eviction은 일반적으로 "캐시(Cache) 메모리에서 사용 가능한 공간이 부족할 때, 기존의 캐시를 삭제하고 새로 들어온 데이터를 저장하는 과정"을 의미한다.
Cache eviction
캐시가 가득 찼을 때(더 이상 저장할 공간이 없을 때) 저장된 데이터 중 일부를 삭제하여 새로운 데이터를 저장할 수 있도록 한다.
ElastiCache(Redis, Memcached)와 같은 인메모리 캐시에서 자주 사용된다.
Cache eviction 대표적인 3가지 방법
캐시를 비울 때 어떤 데이터를 지울지 정하는 규칙
- LRU (Least Recently Used) → 가장 오래된 데이터를 지움.
- LFU (Least Frequently Used) → 가장 적게 사용된 데이터를 지움.
- FIFO (First In, First Out) → 가장 먼저 들어온 데이터를 지움.
참고) Cache expiration
Cache Expiration(캐시 만료)는 캐시에 저장된 데이터가 정해진 시간이 지나면 자동으로 만료(expiration)되는 것을 뜻한다.
Cache Expiration 작동 방식: TTL(Time To Live)
데이터를 캐시에 저장할 때, 특정 시간이 지나면 자동으로 삭제되도록 설정
🤔 AWS 문제
한 회사에서 Amazon ElastiCache for Memcached를 사용하여 쿼리 응답을 캐싱하고 지연 시간을 줄이고 있습니다. 그러나 애플리케이션의 사용자들이 느린 응답 시간을 보고하고 있습니다.
SysOps 관리자는 Memcached의 eviction(캐시 데이터 제거) 에 대한 Amazon CloudWatch 지표가 높은 것을 확인했습니다.SysOps 관리자는 이 문제를 해결하기 위해 어떤 조치를 취해야 하나요? (두 가지를 선택하십시오.)
- ElastiCache for Memcached의 내용을 모두 삭제(Flush)합니다.
- ConnectionOverhead 매개변수 값을 증가시킵니다.
- 클러스터의 노드 수를 증가시킵니다.
- 클러스터의 노드 크기를 증가시킵니다.
- 클러스터의 노드 수를 줄입니다.
정답
정답. 3번, 4번
Evictions Metric
[High Eviction]
ElastiCache에서 높은 Eviction이 생기는 이유는 캐시 메모리 크기가 너무 작거나, 애플리케이션에서 캐시에 많은 데이터를 저장하려고 할 때 발생한다.
1번 (오답 ❌)
Flush는 현재 캐시된 모든 데이터를 제거한다
2번 (오답 ❌)
ConnectionOverhead는 Memcached의 네트워크 연결과 관련된 파라미터이다.
eviction 문제는 메모리 크기와 관련이 있으므로 이 파라미터를 변경해도 문제 해결에 도움이 되지 않는다.
'클라우드(AWS) > SOA-C02' 카테고리의 다른 글
[AWS] CloudTrail의 "Log File Integrity Validation"란? 쉽게 정리 (로그 파일 무결성 검증) (0) | 2025.01.28 |
---|---|
[AWS] EFS를 EC2 인스턴스에 마운트(Mount)하는 방법 (0) | 2025.01.27 |
[AWS] Service Catalog란? 쉽게 정리 (feat. CloudFormation) (0) | 2025.01.24 |
[AWS] WAF의 Rate-based Rule란? 쉽게 정리 (feat. Rate Limit) (0) | 2025.01.22 |
[AWS] S3 Server Access Logging이란? 쉽게 정리 (0) | 2025.01.21 |