여러 방법으로 동시성 문제를 해결한 방법들에 대해서 성능 테스트를 진행하였다.
Jmeter로 100개의 쓰레드에서 0.1초로 요청하였음
Jmeter 첫번째 테스트 시 매우 큰(느린) 값이 나오는 이슈가 있어 평균값에서 제외하고 2,3번쨰 시행의 평균값을 냈다.
bookDonation2,3번째 시행의 평균값 | |
1. ReentrantLock | 212.5 |
2. @Version 사용한 낙관적락 | 185.5 |
3. 비관적락 | 169.5 |
4. isolation = Serializable | 197.5 |
5. redisson 분산락 | 359 |
테스트 결과는 위와 같다
아래에 엑셀 파일을 첨부한다.