Diary/TIL
2024-04-08
nsean
2024. 4. 9. 10:28
중복 로그인 방지 기능의 필요성?
중복 로그인이 허용되면 하나의 계정을 여러 명이 동시에 사용할 수 있다. 이는 보안적인 문제를 발생시킬 수 있고, 세션관리에 문제가 생길 수 있다.
이에 대한 관리 방법은 사용자가 로그인할 때마다 해당 사용자의 세션을 관리하고, 이미 로그인한 상태인 경우 이전 세션을 종료하는 방법이 있다.
그렇다면 가족 공유 계정의 경우는 어떤 설정을 해줘야 할까?
id당 가질 수 있는 세션 개수에 제한을 두는 방식으로 설정해 주면 좋을 것 같다.
리스트를 리스트/객체/제네릭 타입으로 반환
과부하 테스트 도구를 로컬/EC2 에 설치할 때 장단점이 뭘까?
로컬 설치: 작은 규모의 테스트를 수행하거나 개발 환경에서의 테스트인 경우에는 로컬에 과부하 테스트 도구를 설치하는 것이 적합할 수 있다. 로컬 설치는 테스트 환경을 빠르게 설정하고 테스트를 수행하는 데 편리할 수 있다.(설치가 매우 편리하다. 다른 사람들에게 알려줄 때도 docker를 활용하니 대략 20분? 정도 걸림)
EC2 설치: 대규모의 트래픽을 생성하거나 복잡한 시나리오를 테스트해야 하는 경우에는 클라우드 환경인 EC2에 로드 테스트 도구를 설치하는 것이 좋다. EC2는 강력한 컴퓨팅 리소스를 제공하고, 다양한 네트워크 환경을 시뮬레이션할 수 있기 때문에 대규모 테스트를 수행하는 데 적합하다. (이거에 대한 체감이 부족 free tier를 사용하고 있어서 이런 걸까?)
모니터링 도구를 EC2에 실행해야 하는 이유는 무엇인가요? 로컬에는 왜 실행하지 않아야 될까?
네트워킹적인 장점? 신호를 주고받는 데 있어 장점이 있다.
엘라스틱 apm 분석 방법
트랜잭션 지표
- 트랜잭션의 수: 애플리케이션에서 처리된 트랜잭션의 총 수를 나타냅니다.
- 트랜잭션 지연 시간: 각 트랜잭션의 처리 시간을 측정하여 지연된 시간을 보여줍니다.
- 트랜잭션 유형별 분석: 각 유형의 트랜잭션 수와 지연 시간을 분석하여 트랜잭션 유형별로 성능을 평가합니다.
에러 지표
- 에러의 수: 애플리케이션에서 발생한 에러의 총 수를 나타냅니다.
- 에러 유형별 분석: 각 유형의 에러 수를 분석하여 가장 많이 발생하는 에러 유형을 파악하고, 문제 해결에 도움을 줍니다.
지연 지표
- 지연된 요청의 수: 처리 시간이 일정 기준을 초과한 요청의 수를 보여줍니다.
- 지연된 요청의 원인 분석: 지연된 요청의 원인을 파악하여 병목 현상을 해결하는 데 도움을 줍니다.
서비스 성능 지표
- 각 서비스의 응답 시간, 처리량 및 에러율과 같은 성능 지표를 모니터링할 수 있다.
데이터베이스 성능 지표
- 데이터베이스 쿼리의 실행 시간, 데이터베이스 연결 수, 캐시 히트율 등과 같은 데이터베이스 성능 관련 지표를 모니터링할 수 있다.
- 데이터베이스 관련 병목 현상을 식별하고 최적화할 수 있다.
인프라 지표
- 서버의 CPU, 메모리, 디스크 사용량 및 네트워크 성능과 같은 인프라 지표를 모니터링할 수 있다.
- 서버 리소스의 부족 또는 네트워크 병목 현상을 식별하고 대응할 수 있습니다.
트랜잭션 흐름 지표
- 특정 트랜잭션이 애플리케이션 내에서 어떻게 흐르는지를 시각화하는 트랜잭션 흐름 지표를 제공할 수 있다.
- 이를 통해 트랜잭션의 경로를 이해하고 복잡한 트랜잭션 흐름을 최적화할 수 있다.
dead lock:
- 데드락은 두 개 이상의 프로세스나 스레드가 서로의 작업이 끝나기를 기다리며 무한히 멈춰있는 상태를 말한다.
- 각 프로세스나 스레드가 상대방이 점유한 자원을 사용하려고 기다리고 있기 때문에 더 이상 진행할 수 없다.
- 데드락은 주로 동기화된 자원에 대한 접근에서 발생하며, 적절한 락 해제나 타임아웃 설정 등의 방법을 사용하여 해결할 수 있다.