강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

smathj님의 프로필 이미지
smathj

작성한 질문수

대규모 트래픽 처리를 위한 부하테스트 입문/실전

완강을 축하드립니다!! 🎉🎉🎉

부하 테스트에 대한 문의드립니다

작성

·

12

0

안녕하세요 재성님.

 

k6 공식문서에 보면 시나리오라는 개념이 있는데요.

 

현업에서 부하 테스트할때

 

로그인 이후에 처리되는 로직에 대한 부하 테스트를 진행한다면.

 

이때 vUser 수가 100명이라하면

이때는 회원 테이블에 더미데이터를 만들어두고 진행할 까요?

 

아니면 로직에 대한 부하가 아니라면

특정 페이지 접근에 대한 테스트로 진행될까요?

(강좌에서는 시나리오보다는 특정 페이지에 대해서 한 느낌이였습니다)

 

현업에서는 K6 를 어떻게 다루시는지 문의드립니다

 

감사합니다.

 

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요! 질문 잘 해주셨어요 !

현업에서 어떻게 사용하는지 답변드려볼게요!

우선 결론적으로 정해진 정답은 없고

팀별, 프로젝트 상황별 테스트 해보고 싶은 부분에 따라 사용법이 다양해요 !

 

"로그인 이후 로직에 대한 부하 테스트를 진행할 때 회원 테이블에 더미데이터를 만들어두고 진행할 까요?"

-> 네 맞아요 ! vUser 수가 100명이라면 회원 테이블에 테스트용 더미 데이터를 미리 만들어두고 진행하는 게 일반적이에요 ! 테스트용 계정 100개를 미리 생성한 뒤, K6 스크립트에서 이 계정 정보를 배열로 관리하고 각 VU마다 다른 계정으로 로그인을 해요 ! 또는 CSV 파일로 테스트 계정 정보를 관리해서 K6에서 읽어오는 방식도 많이 사용해요 !

하지만 부하 테스트를 할 때 테스트용 더미 데이터를 전부 다 다르게 쓰는 게 중요한 포인트가 아니라면 테스트의 편의를 위해 하나의 계정으로 로그인을 하는 방식으로 부하테스트 로직을 구성하기도 합니다.

추가로 목표가 “인증 이후 비즈니스 로직의 성능 측정”이라면, 로그인 비용을 매 요청마다 넣지 말고, 사전 로그인(토큰 선발급) + 토큰 재사용을 사용하기도 해요 !

E2E(회원 가입→로그인→행동) 흐름 자체의 안정성을 보고 싶다면, 시나리오로 단계별 흐름을 구성하기도하죠 :)

 

"현업에서는 K6 를 어떻게 다루시는지 문의드립니다"

-> 앞서 말씀드린 대로 현업에서 팀별, 프로젝트 상황별 테스트해보고 싶은 부분에 따라 사용법이 다양해요 ~

[1] 시나리오 기반 테스트

"로그인 → 상품 목록 조회 → 상품 상세 조회 → 장바구니 담기 → 결제"과 같이 실제 사용자의 동선을 따라가는 테스트를 해요 !

이렇게 하면 각 단계별 병목 지점을 파악할 수 있어요

[2] 특정 API 집중 테스트

강의에서 보여드린 것처럼 특정 엔드포인트(조회 API 같이 부하가 많이 걸리는)에 집중해서 테스트 해요 !

이렇게하면 해당 API의 한계치를 파악할 수 있어요 !

[3] 혼합 방식

보통은 둘 다 진행합니다! 시나리오 테스트로 전체적인 사용자 경험 검증도 하고 특정 API 테스트로 병목 지점도 상세히 분석하죠 !

하지만 모든 부분을 모두 시나리오 테스트를 하고 모든 API를 테스트하는 것이 아니라 해당 프로젝트 서비스에서 중요한 부분 혹은 이슈가 자주 발생하는 부분에 대해서 테스트를 하는 것만으로 충분히 의미가 있어요 :)

추가로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

안녕하세요, 인프런 AI 인턴입니다. smathj님.

부하 테스트를 진행하실 때, 특히 로그인 이후 처리되는 로직 관련 테스트에 관해 몇 가지 정보를 제공해드리겠습니다.

로그인 로직에 대한 부하 테스트 방법

  1. 더미 데이터 활용:

    • 로그인 테스트가 포함된 시나리오를 구성할 때, 보통 더미 데이터를 활용하여 가상의 유저를 구성합니다. 이는 실제 유저 데이터를 사용하지 않고도 다양한 접근을 시뮬레이션할 수 있게 도와줍니다. 데이터베이스에 미리 더미 계정을 생성해 두고, 이를 사용하여 부하 테스트를 진행하면 보다 실감나는 결과를 얻을 수 있습니다.
  2. vUser 설정:

    • 다양한 사용자 시나리오를 설정하여 로그인 후 여러 페이지나 기능에 접근하는 방식을 시뮬레이션합니다. 로그인 후의 다음 동작(페이지 이동, 데이터 조회 등)을 설정하여 실제와 유사하게 부하를 테스트할 수 있습니다.
  3. 로그인 이후 로직 집중:

    • 로그인 후 특정 기능(예: 데이터 조회, 파일 업로드 등)에 대한 부하 테스트가 필요하다면, 이러한 부분에 중점을 둔 시나리오를 작성하는 것이 좋습니다. 로그인 절차 자체는 최대한 간단히 처리되고, 이후 로직의 성능을 주로 체크합니다.

현업에서는 K6를 활용하여 복잡하고 다양한 사용자 시나리오를 테스트하기도 하고, 특정 페이지에 대한 집중적인 성능 검사를 진행하기도 합니다.

추가로 참고하실 수 있는 자료:

부하 테스트 시나리오 구성은 시스템의 목적과 뚜렷한 요구사항에 따라 유연하게 적용할 수 있습니다. 여러 시나리오와 환경에서 테스트를 진행하여 얻은 데이터를 분석하는 것이 보다 정확한 결과를 얻는 데 도움이 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

smathj님의 프로필 이미지
smathj

작성한 질문수

질문하기