수행 시간 비교 관련 질문
309
작성한 질문수 1
안녕하세요 좋은 강의 해주셔서 감사합니다.
강의를 전부 듣고 각 방식의 성능이 궁금하여 이를 찍어보았는데 조금 의아한 결과가 나와서 질문 드립니다.
동시성 처리 안한 버전 256 ms
synchronized 버전 962 ms
비관적락 468 ms
낙관적락 1441 ms
NamedLock 807 ms
LettuceLock 4184 ms
RedissonLock 1137 ms
몇번씩 테스트해본 결과 대략 위와 같은 정도의 성능이 나옵니다.
처음 생각하기로는 Redis 사용 방식이 비교적 빠를것이고, DB에 락을 거는 방식이 Redis에 비해 느리지 않을까 했는데 오히려 반대로 DB에 락을 거는게 빠르고 Redis를 사용하는 방식이 느린것을 확인할 수 있었습니다.
혹시 이러한 결과가 나오게 된 이유를 여쭤볼 수 있을까요? 감사합니다.
답변 2
0
jahni 님 안녕하세요.
성능은 현재 있는 데이터와 처리량에 따라서 다를 수 있습니다.
테스트시에 매우 적은 데이터와 적은 처리량으로 테스트를 하셨을거라고 생각합니다.
그럴경우에는 mysql 의 성능이 조금 더 좋게 나올 수 있습니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴이에요. 질문에 대한 답변드리겠습니다.
결과를 보면, RedissonLock 방식이 가장 느린 것으로 나와서 이와 관련하여 질문하신 것으로 추정됩니다.
Redis는 In-memory 데이터 구조를 기반으로 하기 때문에 데이터 조회 속도와 락 처리 속도가 빠릅니다. 반면, RedissonLock 방식은 Redis를 이용하여 락을 걸기 때문에 Redis의 락 처리 속도와 Redis와의 데이터 전송 속도 등 여러 요인에 따라 처리 속도가 떨어질 수 있습니다.
그리고 실제 사용하기에는 LettuceLock 방식이 가장 효율적인 경우가 많기 때문에 LettuceLock을 사용하는 것을 추천합니다.
제가 답변해드릴 수 있는 내용은 이정도이며, 추가적인 도움이 필요하시면 언제든지 문의해주세요. 감사합니다.
레디선 테스트코드에서 채널이름은 없어도 되는건가요?
0
43
2
낙관적 락을 사용할 떄 차이점
0
123
2
동시성 검증 코드에 관한 문의
0
96
2
단일연산
0
70
2
낙관적락vs. 레디스락
0
108
2
안녕하세요. 레디슨 질문있습니다..!!
0
67
2
@Lock(OPTIMISTIC)이 필요한 이유
0
90
2
get_lock 의 timeout이 3000초 이던데 너무 긴거 아닌가요?
0
132
2
DataSource Hikari 사용 이유
0
147
2
saveAndFlush 사용 이유 문의
0
113
3
비관적 락 VS 네임드 락
0
160
3
application.yaml 에 redis 정보
0
100
2
왜 클래스 이름에 Facade 가 붙나요?
0
185
2
@Transactional 으로 인한 동시성 문제 발생 원인이 궁금합니다.
0
220
2
@modifying 이용한 동시성 제어
0
168
2
DB락과 분산락
0
262
2
NamedLock 테스트 실패
0
186
2
테스트에서 트랜잭션 어노테이션 질문 있습니다.
0
173
2
optimistic Lock 재시도 질문입니다.
0
232
2
낙관적 락 테스트 실패
0
242
2
오류?
0
1627
4
LettureLockStockFacadeTest에서 오류가 발생합니다.
1
268
2
Pessimistic Lock 전체 테스트 오류 문의
0
360
3
비관적 락 vs 레디스(Lettuce)락 비교 관련 질문
0
461
2





