Blog

JMeter 멀티 스레드의 오류 동시성오류?

tag
팀 스터디
날짜
2023/10/14
생성 일시
2023/10/28 06:39
작성자
JMeter 스레드가 여러개 되면서 오류가 나타나기 시작한다. 에 대한 문제
현재 스레드가 늘어 날 때, 스레드의 순서가 정확하게 idx순서대로 진행되지 않기 때문에, 그 부분에서 오류가 발생한다.
기준으로 잡는 1개의 스레드는 1명의 유저가 회원가입부터 모든 메소드를 사용하는 것을 테스트 기준으로 잡아야 한다.
하지만 현재 1-3-2-4-7-5-6 처럼 스레드가 무작위성으로 순서가 보장받지 않는다면,
1-2-3 순서로 가입부터 모든 기능 이용까지 순서대로 이어질 것으로 예상했지만
1-3-2와 같은 순서로 기능을 이용하면서 3-2부분에서 오류를 발생시키게 되는 것이다.
순서를 보장할 수 있는 방법이 필요로하다.
Redis를 어디에 사용하는가?
websocket에 활용 할 수 있다.
session
실시간 데이터
통계
채팅 →
로그인 →
동시성 문제 발생
동일한 자원(data)에 대해 여러 스레드가 동시에 접근하면서 발생하는 '동시성 문제'는 상품의 재고 관리 등, 프로세스의 여러 곳에서 발생
우리프로젝트는 어디서발생했는가? JMeter로 테스트 당시, 회원가입→로그인 이후 진행되는 프로세스에서
스레드를 10개 이상(멀티클라이언트10개==유저10명) 되기 시작하면서 동시성 문제가 발생, JMeter를 가동하는 CPU성능에 따라 다른것으로 보여진다.
동시성문제란
동시성 문제는 주로 여러 스레드나 프로세스가 동시에 데이터를 수정하려고 할 때 발생. 따라서 INSERT와 UPDATE 연산이 특히 동시성 문제가 발생하기 쉬운 작업. 여러 스레드가 동시에 데이터를 추가하거나 수정하면 데이터 일관성이 깨지거나 오류를 발생 시킬 수 있음.
락이란?
Database 에서 사용하는 개념으로 트랜잭션 처리의 순차성을 보장하기 위한 방법 중 하나
Redis를 이용해서 “분산락?”
분산락 → 스핀락으로 개선