전체 215

[0614] AWS DynamoDB, AWS RDS mysql, DBeaver 실습

AWS RDS를 이용해서 mysql 생성 후 터미널로 접속 DBeaver로 mysql 접속해서 쿼리문 사용 AWS DynamoDB 생성 다이나모 디비 서비스에서 디비는 그 자체고 테이블만 생성할 수 있는 것 같다..? 데이터 값 추가는 표 항목 표기 탭에 들어가서 항목 생성을 클릭하면 된다 기본 디비버는 NoSQL 사용이 안돼서 엔터프라이즈 버전을 다운받았다 14일 트라이얼 권한으로 사용.. SELECT 쿼리를 통해 조회가 가능하다 테이블 생성도 가능하다 테이블 생성시 파티션 키를 필수로 설정해야 한다 테이블 생성시에 어트리뷰트가 1개 만들 수 있는데 그 후에 추가로 생성이 안된다 원래 한개씩만 되는건가.. 디비버를 통해 만든 테이블이 콘솔에도 반영되어 뜬다 테이블 생성 후 첫번째 값을 넣으려고 하면 오..

Code States/TIL 2023.06.15

[0608] (실습) 성능 테스트 - aws EC2와 K6를 이용한 성능테스트

achievement goal k6 도구 활용법을 학습합니다. 성능 테스트 유형별 스크립트를 작성할 수 있습니다. aws ec2 인스턴스를 모니터링할 수 있습니다. aws에서 제공하는 버스트 크레딧을 이해할 수 있습니다. ec2 인스턴스 생성 ec2 인스턴스 ssh 접속 도커 설치 도커 컨테이너 실행시 권한 오류 발생 현재 USER에 docker 권한 추가 재시동 후 권한이 추가된 것을 확인 도커 컨테이너 정상 실행 k6 설치 기존 ec2 인스턴스 상태 모니터링과 각각 테스트에 따른 모니터링 결과

Code States/TIL 2023.06.08

[0608] 성능 테스트 - 부하 테스트 계획

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 부하 테스트를 진행하기 앞서, 서비스 수준 목표(SLO)를 설정하는 것이 좋음 먼저 척도를 표준화하고, 다음과 같은 목표를 설정 Latency에 중점을 둔 SLO 예시 GET 호출의 90%는 1ms 이내에 완료해야 합니다. GET 호출의 99%는 10ms 이내에 완료해야 합니다. GET 호출의 99.9%는 100ms 이내에 완료해야 합니다. Throughput에 중점을 둔 SLO 예시 결국 Throu..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 병목 찾기

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 병목 구간의 확인과 개선 기본 지식 Throughput 개선 병목 구간을 파악하는 것이 가장 중요함 Latency 개선 애플리케이션 개선 개발된 애플리케이션을 개선하는 것으로 시작 애플리케이션 성능 최적화는 현상을 파악(APM, Application Performance Monitoring)하는 것으로 시작하며, 알고리즘 개선, I/O 최소화 등의 개선 방안이 뒤따름 DevOps가 이를 모니터링할 수..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 부하 테스트 기본

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 부하 테스트의 목적 클라우드 환경에서의 부하 테스트 목적 시스템 확장성을 가졌는지 확인 성능을 개선하기 위해 확장해야 하는 시스템이 무엇인지 파악 부하가 많이 발생할 때 문제 상황 개선 각 시스템의 병목 지점을 예측하고 진단 및 개선 어떤 부분을 확장할 것인가? 확장성에 대한 특징 파악 Throughput 시간당 처리량 시스템의 성능 지표는 RPS(request per second), TPS(tran..

Code States/TIL 2023.06.08

[0607] 성능 테스트 - 가용성과 확장성

학습 목표 시스템의 가용성과 확장성을 평가할 수 있다. 부하 테스트의 목적을 이해할 수 있다. Throughput과 Latency의 개념을 이해할 수 있다. 시스템의 병목이 발생하는 주요 원인과 대책을 이해할 수 있다. SLO를 설정하고, 이를 기반으로 부하 테스트를 진행하고, 달성 여부를 파악할 수 있다. 가용성 시스템이 정상적으로 사용 가능한 정도 Uptime / (Uptime + Downtime) 핵심은 단일 장애점(Single Point of Failure)을 없애는 것 어떤 한 노드에 장애가 발생해도 동일한 처리 능력을 가진 다른 노드로 대체도리 수 있어야 함 확장성 확장 가능한 시스템: 요구되는 시스템의 성능에 따라 동적으로 서버 구성이 변경되고, 시스템 처리 능력을 최적화할 수 있는 시스템 ..

Code States/TIL 2023.06.07

[0605] 서비스 모니터링 - 서비스 수준 목표

학습 목표 서비스 수준 목표 서비스 수준 척도(SLI), 서비스 수준 목표(SLO), 서비스 수준 협약(SLA)의 의미를 이해할 수 있다. 메트릭을 이용한 주요 SLO를 이해하고, 어떻게 목표를 세우는지 알 수 있다. SLI (Service Level Indicator, 서비스 수준 척도) 서비스 수준을 판단할 수 있는 몇 가지를 정량적으로 측정한 값 응답 속도: 요청에 대한 응답이 리턴되기까지의 시간 에러율: 전체 요청 수 대비 처리량(throughput): 초당 처리할 수 있는 요청 수 가용성: 서비스가 사용 가능한 상태로 존재하는 시간의 비율 내구성: 데이터 저장이 중요한 목적인 서비스으 ㅣ경우 특히 중요 SLO(Service Level Objectives, 서비스 수준 목표) SLI에 의해 측정된..

Code States/TIL 2023.06.05

[0602] 서비스 모니터링 - Prometheus 모니터링 시스템

학습 목표 모니터링의 목표와 측정 항목(metric) 서비스 및 계층별 메트릭을 이해할 수 있다. 주요 메트릭이 어떤 범주(컴퓨팅 유닛 관련, 요청/응답 관련, 스케일링 관련)에 속하는지 이해할 수 있다. 서비스 별 "키 메트릭"(Key metric, 핵심 지표)이 무엇인지 이해할 수 있다. 사이트 신뢰성 엔지니어링(SRE)에서 필요로 하는 주요 메트릭과, 모니터링 패턴을 이해할 수 있다. Amazon CloudWatch CloudWatch를 통해 로그 및 그래프를 볼 수 있다. CloudWatch를 통해 경보를 설정할 수 있다. 오토 스케일링 원리를 복습하고, CloudWatch 및 SNS, Lambda를 통해 경보가 전달되는 메커니즘을 이해하고 구현할 수 있다. Prometheus + Grafana ..

Code States/TIL 2023.06.02