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
- 그리디 알고리즘
- S&P500
- object
- 객체지향
- 인플레이션
- javascript
- 잉여현금흐름
- 프로그래머스
- 무디스
- 오버라이딩
- 배당성장
- StringBuffer
- 자바
- 제태크
- 다형성
- 금리인상
- 주식
- 주린이
- 접근제어자
- etf
- 현금흐름표
- Java
- mco
- 금리인하
- FCF
- XLF
- 백준
- 기업분석
- 알고리즘
- 미국주식
Archives
- Today
- Total
오늘의하루
[SourceCode.io] 2차 성능 테스트 : 분석 및 해결책 본문
개선 사항
첨부 파일을 디스크에 저장한 후 분석하던 기존의 방식에서 메모리로 처리하도록 변경하여, 데이터를 일부분씩 분할하여 작은 메모리에서도 처리할 수 있도록 설계를 변경했습니다.
환경 설정
- Apache JMeter version : 5.6.3
- Spring boot version : 3.2.2
- Java version : 17
시나리오
JMeter를 사용하여 100명의 가상 사용자가 동시에 100MB 크기의 zip 파일을 서버에 첨부하고, 해당 파일을 분석한 후 결과를 반환하도록 시나리오를 작성했습니다.
테스트 결과
부하 테스트를 수행한 결과, 사용자의 요청 후 응답까지의 평균 속도와 서버가 처리할 수 있는 양에 집중해야 한다는 것을 확인했습니다.
- Throughput 비교
- 1차 테스트 : 10.2/min
- 2차 테스트 : 1.5/sec
- Average 비교
- 1차 테스트 : 351,514ms
- 2차 테스트 : 60,821ms
결과 분석
1차 테스트에 비해 Throughput은 약 7.82배, Average는 약 82.6% 개선되었습니다.
그러나 여전히 실제 이용에는 느린 응답 속도가 발생하므로 이를 개선해야 합니다.
문제 파악 및 해결 방안
기존의 분석 프로세스를 정리한 후 중복되거나 효율적으로 개선할 수 있는 부분을 식별하여 수정할 계획입니다.
또한, String 객체를 생성하고 작업하는 대신에 Stream을 활용하여 데이터를 효율적으로 처리할 수 있도록 코드를 변경할 예정입니다.
이를 통해 객체 생성을 줄이고 메모리 사용을 최적화하여 응답 시간을 단축시키고 성능을 향상시킬 것입니다. 또한, 이를 통해 불필요한 시간 소요를 최소화하고 Heap 메모리 할당량 초과와 같은 문제를 방지할 수 있습니다.
'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] 1차 성능 테스트 : 분석 및 해결책 (0) | 2024.03.28 |
Comments