-
Notifications
You must be signed in to change notification settings - Fork 0
환경과 개요
yanggwangseong edited this page Jan 1, 2025
·
12 revisions
- 프로젝트 소스 코드
- 데이터베이스 상태 (데이터, 인덱스 등)
- k6를 통한 부하테스트 결과 테이블과 influxDB와 그라파나를 통한 시각화 차트
- Clinic.js를 통한 프로파일링 결과
- 현재 서비스에서 가장 부하가 많이 발생 할것 같은 API
- 2개 이상의 mutation이 발생하는 데이터 정합성을 체크 할 수 있는 API
table_name | row_count |
---|---|
article_likes | 399,748 |
articles | 200,000 |
black_list | 8000 |
category | 16 |
district | 288 |
member | 100,000 |
participation | 399,779 |
refresh_token | 100,002 |
region | 2 |
verification_code | 100,001 |
total_size_mb |
---|
202.59 |
- k6
- influxDB
- grafana
- Clinic.js
- 리눅스 CentOS 7.8 (64-bit)
- 2vCPU, 4GB Mem, 50GB Disk
- Mysql 8.0
- node.js v22.11.0
- 프로 파일링을 위한 전용 Dockerfile 작성
- NCP Container Registry에 백엔드 도커파일과 프로파일링 도커파일을 둘다 푸시
- 배포 환경에서 docker를 통해서 clinic.js로 프로파일링 시작
- 로컬에서 k6로 부하테스트시에 프로파일링 시작 후 종료되면 로컬로 clinic flame그래프 html 파일을 가져오기
아래는 프로젝트 데이터베이스 설계 ERD입니다: