System
•
EC2 최대한 적게 쓰기
•
서버가 정상 상태일때만 요청이 가도록 하기 (헬스체크 API 잘 보기)
•
Graceful Shutdown 구성하기
•
Draining Time 짧게 Container GracefulShutdown은 길게 구성
◦
GracefulShutdown이 너무 길면 배포할때 오래걸림
•
서비스 요구사항 잘 읽기
◦
타임아웃 값 잘보기 - 서비스 구성 잘 보기
•
Request Limit 값 잘 활용하기
•
정상인데 오래걸리는 경우
◦
자원 가동률 문제이다.
▪
CPU가 가득찼거나, 메모리가 가득찼거나이다.
◦
Redis
◦
RDS
◦
리눅스 캐파
Database
•
DynamoDB WCU, RCU 값 잘 조절하기 밑 스케일링 잘하기
•
엔드포인트 잘 활용하기 (DynamoDB)
Kubernetes
•
레드니스 게이트 켜주기 (네임스페이스 레벨에서 됨)
•
쿠버네티스 라이브니스 레드니스 잘 관리하기
•
카펜터 콘솔리데이션
CI/CD
•
버전2, 버전3 바이너리 제공시 얼마나 빨리 배포를 하는게 중요하다.
•
배포 너무 길지 않게 구성하기
Monitoring
•
리소스 모니터링 해서 로직이 오래 걸리는 앱(요청이 5초걸리는) 쓰레드 수 잘 활용하기
•
모니터링 패턴 잘 활용하기
•
병목현상 찾기
◦
뭐가 문제인지 진단 빨리하기
•
어떤구간에서 오래걸렸는지 파악하기
•
자원 사용률 확인하기
•
CloudWatch Alarm 구성하기
•
Target Processing Time p99 옵션 활용해서 이상 탐지 하기
•
400에러가 높아나는지, 500가 에러나는지 파악하기
◦
500 → 서버로그 확인하기 (
로깅 솔루션 잘 구축하기)
◦
클라우드 와치 로그 쿼리 잘하기
◦
ALB Accesslog 활용 및 분석 잘하기 (타겟 IP가 나옴)
Athena (ALB AccessLog)
Tips
•
클라이언트 값을 기준으로 트래픽 처리하기
•
t타입 인스턴스 크레딧 다 떨어지면 CPU 사용불가능해서 그냥 인스턴스 종료하고 새로운 인스턴스 뛰우는게 답이다. st 확인 잘하기
•
앱서버를 POST, GET 방식 서버를 나누기
◦
POST 요청은 Write Endpoint를 가지고 있는 앱을 구성하고
◦
GET 요청은 Read Replica Endpoint를 가지는 앱을 구성하면 된다.
vmstat 1
Shell
복사
Study
•
밴드리스 공부하기
•
디스크IO 공부하기
•
샤딩 개념 공부하기
•
와이어 샤크 공부하기

