728x90
728x90
Redis에서 데이터를 저장할 때 메모리가 부족할 경우 "eviction"이 발생할 수 있다.Eviction은 Redis가 메모리를 확보하기 위해 일부 데이터를 제거하는 프로세스를 의미하고, 일반적으로 이러한 eviction은 다음과 같은 이유로 발생할 수 있다..메모리 한계 도달: Redis는 메모리가 가득 차면 eviction 정책을 트리거하여 데이터를 삭제한다. 이때 Redis는 설정된 eviction 정책에 따라 어떤 데이터를 삭제할지 결정한다.maxmemory 설정: Redis에서는 메모리 사용량을 제한하는 maxmemory 옵션이 있고, 이 옵션을 설정하면 Redis는 설정된 한계에 도달했을 때 eviction을 수행하여 메모리 사용량을 제한한다.expire 설정: 데이터가 만료되면(설정된 T..
redis redis, memcached network exceeded 가 발생할 경우 latency 가 밀린다. worker 가 일을 다하고 있어서, 과부하 상태가 된다.(php의 경우 fpm 을 max 까지 사용) redis memory 가 꽉 찼을 경우 어떤 일이 발생? eviction 발생 ⇒ 키가 버려짐(LRU 방식) swap memory 를 많이 사용하게 됨(why? 사용 가능한 메모리가 적기 때문) 어떤 키를 제거할까? ⇒ get cmd 를 오랫동안 하지 않는 key, set cmd 한지 오래된 key?, ttl, key expire 등… 전략은 다양하다.
Elasticache Redis Redis NetworkBytes In/Out 이 높을 경우 생기는 문제 네트워크 정체: Redis 서버가 대량의 수신 및 발신 데이터를 처리하는 경우 높은 네트워크 바이트 입출력은 네트워크 정체를 나타낼 수 있습니다. 이는 전체 네트워크 성능에 영향을 미치고 대기 시간이 증가하거나 응답 시간이 느려질 수 있습니다. 대역폭 사용량 증가: 높은 네트워크 바이트 입/출력은 Redis 서버가 네트워크를 통해 많은 양의 데이터를 전송하고 있음을 의미합니다. 이것은 특히 Redis가 많은 수의 클라이언트에 서비스를 제공하거나 상당한 데이터 로드를 처리하는 시나리오에서 상당한 네트워크 대역폭을 소비할 수 있습니다. 잠재적인 성능 영향: Redis 서버가 높은 네트워크 트래픽을 처리하..
aws 로드밸랜서 등록후 나오는 503 에러 해결방법 보통은 로드밸랜서의 타겟 그룹에 등록된 타겟이 없을때 혹은 타겟 그룹이 unhealthy 상태일 때 발생한다고 생각하면 편하거. 인스턴스 기반일 경우 타겟 그룹에서 사용할 ec2 인스턴스를 등록하거나 헬스체크를 통과했는지 확인한다. 쿠버네티스 환경에서도 상동하다. 참조: docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html#http-503-issues
모바일 앱: MyTodoList 요구 사항 MyTodoList 라는 모바일 앱을 만든다. HTTPS 엔드 포인트가 있는 REST API 를 사용 서버리스 아키텍쳐 사용자가 직접 S3 에 있는 폴더와 상호작용할 수 있다. 사용자가 서버리스 서비스로 인증을 할 수 있다. 읽기와 쓰기를 모두 할 수 있지만 읽기 작업을 더 많이 할 것 이기 때문에 읽기 관련하여 성능을 높이면 좋다. 데이터베이스는 스케일할 수 있도록 구축해야 하고, 읽기 처리량이 높아야 한다. REST API Layer REST HTTPS 를 사용하기 위해 API Gateway 를 사용한다. 일반적인 서버리스 API 를 사용하는 방식으로 API 게이트웨이가 람다 함수를 호출해서 스케일링이 가능하며 람다 함수는 데이터베이스에 데이터를 저장하거나 ..