Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Java
- FCF
- mco
- object
- 현금흐름표
- 금리인상
- 그리디 알고리즘
- 금리인하
- 주식
- etf
- 접근제어자
- 다형성
- XLF
- 제태크
- 객체지향
- 알고리즘
- javascript
- 무디스
- 자바
- 미국주식
- 주린이
- 프로그래머스
- 백준
- 배당성장
- 인플레이션
- 기업분석
- 잉여현금흐름
- S&P500
- StringBuffer
- 오버라이딩
Archives
- Today
- Total
오늘의하루
[SourceCode.io] 1차 성능 테스트 : 분석 및 해결책 본문
프로젝트 소개
SourceCode.io 프로젝트는 클라이언트가 제공한 zip 파일을 분석하여 원하는 형태의 문자를 추출하여 문서화하고, 동시에 해당 zip 파일의 구조를 반환합니다. 또한, 커스텀 빌드 프로세스를 통해 서버에 zip 파일 형태로 소스 코드를 전송한 후, 해당 코드에 한글이 있는지 확인하고 한글의 개수와 위치를 클라이언트에게 반환합니다.
목표 및 배경
Apache JMeter를 사용하여 SourceCode.io 프로젝트의 부하 테스트를 수행하여 성능을 평가하고 사용자가 원활하게 이용할 수 있도록 성능을 향상시키는 것이 목표입니다.
환경 설정
- Apache JMeter version : 5.6.3
- Spring boot version : 3.2.2
- Java version : 17
시나리오
JMeter를 사용하여 100명의 가상 사용자가 동시에 100MB 크기의 zip 파일을 서버에 첨부하고, 해당 파일을 분석한 후 결과를 반환하도록 시나리오를 작성했습니다.
테스트 결과
부하 테스트를 수행한 결과, 사용자의 요청 후 응답까지의 평균 속도와 서버가 처리할 수 있는 양에 집중해야 한다는 것을 확인했습니다.
- Throughput : 10.2/min
- Average : 351,514ms
결과 분석
요청 후 응답까지의 시간이 오래 걸리는 이유는 서버가 첨부된 파일을 직접 저장하고 압축 해제 및 분석 작업을 수행하기 때문에 디스크에 접근하여 작업하는데 있어서 성능상의 한계가 드러났습니다.
문제 파악 및 해결 방안
디스크에 직접 접근하여 작업하는 것보다 메모리에서 작업하도록 수정하고, 데이터를 일부분씩 분할하여 작은 메모리에서도 처리할 수 있도록 설계를 변경함으로써 메모리 효율성을 높이고 디스크보다 빠른 메모리를 사용하여 처리 속도를 향상시킬 것입니다.
'Spring > SourceCode.io 프로젝트' 카테고리의 다른 글
[SourceCode.io] 5차 성능 테스트 : 분석 및 해결책 (0) | 2024.04.14 |
---|---|
Load Balancing을 통한 성능 최적화와 AWS의 활용 (0) | 2024.04.08 |
[SourceCode.io] 4차 성능 테스트 : 분석 및 해결책 (0) | 2024.04.03 |
[SourceCode.io] 3차 성능 테스트 : 분석 및 해결책 (0) | 2024.04.02 |
[SourceCode.io] 2차 성능 테스트 : 분석 및 해결책 (0) | 2024.03.29 |
Comments