작성
·
22
답변 2
0
qheogus55 님 안녕하세요.
서비스마다 특성이 너무 다르기에 정답은 없을것 같습니다.
제가 고려하는건 아래와 같아요.
빠른 성능을 보장해야하면 waitTime 을 짧게 가져갑니다. 반대로 성능보다는 락획득이 중요하다면 waitTime 을 3초정도로 설정하는 편입니다.
어떠한경우에도 lock 해제가 안되어야 한다면 leaseTime 을 무한에 가깝도록 설정할듯합니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. qheogus55님.
Redisson에서 waitTime
과 leaseTime
을 설정하는 것은 매우 중요하며, 그 값은 실제 시스템의 특성에 맞춰 조정해야 합니다. 이 값들은 시스템의 성능, 네트워크 상태, 트래픽 패턴 및 특성에 따라 적절히 설정해야 합니다.
waitTime
은 스레드가 락을 얻기 위해 대기할 수 있는 최대 시간을 의미하며, leaseTime
은 락이 자동으로 해제되기까지의 시간을 결정합니다. 이 설정들은 서로 상충되므로, 업무에 적합한 테스트를 통해 값을 설정하는 것이 좋습니다.
예를 들어, 다음 유사한 질문 및 답변을 참고할 수 있을 것입니다:
- redisson 질문입니다.에서는 waitTime
값을 서버 환경에 맞춰 조정하며, 설정한 값에 따라 성공 여부가 다를 수 있음을 설명하고 있습니다.
- lock.tryLock(15, 1, TimeUnit.SECONDS) 질문입니다!는 waitTime
과 leaseTime
이 어떻게 동작하며 여러 스레드와의 상호작용에서 어떻게 설정할지를 논의합니다.
이러한 설정값은 시스템의 규모와 특정 시나리오에 대한 실험적 검증을 통해 최적의 값을 찾아가는 과정이 필요합니다. 로컬 테스트, 부하 테스트 등 여러 테스트 환경을 통한 실험 결과를 바탕으로 실제 상용 환경에 맞는 값을 적용해 보십시오.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.