본문 바로가기
공부/Jmeter

Jmeter사용해보기 - 마이페이지 조회

by 고구밍 2022. 5. 10.

 

// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i INNER JOIN Bag bg ON i.bag.id=bg.id INNER JOIN User u ON bg.userId=u.id WHERE u.id=:userId")
List<Item> findAllMyItem(@Param("userId") Long userId);

서비스

 List<Item> myItemList = itemRepository.findAllMyItem(userId);

 

100명 -> 1초당 10번 조회 (1000회)

최소 : 0.48초 / 최대 : 3.6초 / 평균 : 2.84초

 

 

 

 

레파지토리

List<Item> findAllByBagIdOrBagId(Long bagId, Long bagId1);

마이페이지 - 내 정보보기 서비스

        Bag bag = bagRepository.findByUserId(userId);
        Long bagId = bag.getId();

        // 한 유저의 모든 아이템을 보여줌
        List<Item> myItemList = itemRepository.findAllByBagIdOrBagId(bagId, bagId);

100명 -> 1초당 10번 조회 (1000회)

최소 : 0.35초 / 최대 : 3.38초 / 평균 : 2.84초

 

 

평균값이 동등해서,

@Query를 이용해서 테이블 3개를 조인했을 경우와 JPA로 2번 조회하는 것과 차기가 나지 않았음

 

해볼것

-> BagId를 구한다음에,

-> @Query를 통해서 BagId를 조회하기를 구현해보자.

 

 

Bag bag = bagRepository.findByUserId(userId);
Long bagId = bag.getId();

// 한 유저의 모든 아이템을 보여줌
List<Item> myItemList = itemRepository.findAllMyItem(bagId);
// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i INNER JOIN Bag bg ON i.bag.id=bg.id WHERE bg.id =:bagId")
List<Item> findAllMyItem(@Param("bagId") Long bagId);

 

100명 -> 1초당 10번 조회 (1000회)

최소 : 0.27초 / 최대 : 3.41초 / 평균 : 2.74초

 

// 성훈 - 내 아이템 찾기 (마이페이지)
// 물품과 보따리는 bagId, 보따리와 유저는 userId로 이어준다.
@Query("SELECT i FROM Item i WHERE i.bag.userId = :userId")
List<Item> findAllMyItem(@Param("userId") Long userId);
// 한 유저의 모든 아이템을 보여줌
List<Item> myItemList = itemRepository.findAllMyItem(userId);

 

@Query를 통해서 한번에 조회하기

 

100명 -> 1초당 10번 조회 (1000회)

최소 : 0.26초 / 최대 : 3.18초 / 평균 : 2.74초

 

 

 

최소와 최대값이 줄긴있지만,

평균이 줄지는 않았다 -> 주어지는 조건이 잘못된 걸까?

'공부 > Jmeter' 카테고리의 다른 글

JMETER 테스트 자료 정리  (0) 2022.06.03
JMETER테스트하기 - 2  (0) 2022.05.25
JMETER사용시 참고한 사이트 링크  (0) 2022.05.23
JMETER를 이용한 거래내역 성능확인  (0) 2022.05.20
JMeter 공부하기 - 1  (0) 2022.05.09