Apidog

올인원 협업 API 개발 플랫폼

API 설계

API 문서

API 디버깅

API 모킹

API 자동화 테스트

Apidog에서의 API 성능 테스트에 대한 포괄적인 가이드

이 가이드는 Apidog의 "성능 테스트" 기능을 활용하여 API의 성능을 평가하는 방법을 안내합니다.

Young-jae

Young-jae

Updated on December 20, 2024

API를 구축하고 유지 관리할 때 성능과 안정성이 가장 중요합니다. API 성능은 사용자 경험과 시스템 가용성에 직접적인 영향을 미치므로 포괄적인 성능 테스트가 필수적입니다.

 API Performance Testing

API 성능 테스트란 무엇인가요?

API 성능 테스트는 일반적으로 실제 사용자 행동을 시뮬레이션하고 스트레스 테스트 및 부하 테스트를 수행하여 시스템의 안정성과 성능 지표를 평가합니다.

성능 테스트를 수행하기 전에 모든 API가 예상대로 제대로 작동하는지 확인하기 위해 API에 대한 기능 테스트를 수행하는 것이 좋습니다. 기능 테스트는 기능적으로 문제를 식별하고 수정하는 데 도움이 되고, 성능 테스트는 높은 부하 하에서 API의 동작을 평가하는 데 중점을 둡니다. 오직 기능적으로 올바른 API만 의미 있는 성능 테스트 결과를 제공하여 추가 성능 최적화를 위한 신뢰할 수 있는 기반을 마련합니다.

Apidog에서 성능 테스트를 수행하는 방법은 무엇인가요?

이 가이드는 Apidog의 "성능 테스트" 기능을 활용하여 API의 성능을 평가하는 방법을 안내합니다.

button

단계 1: 성능 테스트 시나리오 조정

성능 테스트를 시작하기 전에 테스트 사례를 생성해야 합니다. 기존 API나 API 사용 사례에서 이들을 가져오거나 사용자 정의 요청을 정의할 수 있습니다. 테스트 단계가 준비되면 성능 테스트를 진행하기 전에 API가 예상대로 작동하는지 확인하기 위해 기능 테스트를 실행하는 것이 좋습니다.

성능 테스트 시나리오 조정

단계 2: 성능 테스트 설정 구성

Apidog의 "테스트" 섹션에서 "성능 (Beta)"에 대한 전용 모듈을 찾을 수 있습니다. 여기에서 곧 있을 성능 테스트를 준비하기 위해 다양한 설정을 구성할 수 있습니다.

성능 테스트 설정 구성

구성 옵션:

✍️
실행 환경:
“성능 테스트” 중 요청을 위한 백엔드 서비스 환경을 지정합니다. 기본적으로 현재 프로젝트에 설정된 환경 구성이 자동으로 적용됩니다.
실행 환경
✍️
테스트 데이터 (선택 사항):
테스트 데이터는 성능 테스트 동안 요청을 시작하는 데 사용되는 데이터 세트를 말합니다. 테스트 데이터를 사용하면 각 동시 사용자가 서로 다른 매개변수로 요청을 할 수 있어 실제 트래픽을 더 잘 시뮬레이션할 수 있습니다.
테스트 데이터
  • 테스트 데이터를 사용하려면 "테스트 데이터" 탭을 클릭하고 새 데이터 세트를 생성합니다.
테스트 데이터 클릭
  • 해당 환경에 맞게 데이터 세트를 구성합니다. 데이터를 수동으로 추가하거나 JSON 또는 CSV 형식으로 가져올 수 있습니다. 편집 후 데이터 세트를 저장합니다.
해당 환경에 맞게 데이터 세트 구성
  • 테스트 단계 세부정보 페이지에서 테스트 데이터와 변수를 연결합니다.
  • 성능 테스트에서 테스트 데이터를 연결하기로 선택하면 동시 사용자는 테스트 데이터에 정의된 변수를 사용하여 요청을 합니다. "무작위" 및 "순차" 모드 중에서 선택할 수 있습니다.
무작위 및 순차 모드
✍️
무작위 매치:
각 동시 사용자가 테스트 데이터에서 무작위로 행을 선택합니다. 이는 각 사용자가 고유한 데이터를 얻도록 하여 성능 테스트에서 광범위한 커버리지를 보장합니다.

순차 매치:
각 동시 사용자가 테스트 데이터에서 다음 행을 순차적으로 선택합니다. 동시 사용자 수가 테스트 데이터의 행 수를 초과하면 초과된 사용자는 테스트에 참여하지 않습니다. 이 모드에서 모든 동시 사용자를 지원할 수 있도록 충분한 테스트 데이터가 있는지 확인하십시오.
  • 동시 사용자 (가상 사용자):

성능 테스트는 현재 최대 100명의 동시 사용자를 시뮬레이션할 수 있습니다. 이 사용자들은 지정된 테스트 기간 내에 실제 온라인 사용자 행동을 동시적으로 시뮬레이션하며, 테스트 시나리오를 반복적으로 실행합니다. 이는 사용자의 요청 수가 많은 경우 API의 성능과 안정성을 평가하는 데 효과적으로 고부하 시나리오를 시뮬레이션합니다.

  • 실행 시간:

성능 테스트의 총 기간을 정의합니다. 각 동시 사용자는 설정된 시간 내에 테스트 시나리오에 정의된 모든 API 요청을 지속적으로 반복합니다. 현재 지원되는 최대 테스트 지속 시간은 60분입니다.

  • 증가 시간:

경우에 따라 많은 사용자가 서비스에 즉시 접근하는 것이 아니라 시간이 지남에 따라 점진적으로 증가합니다.

증가 시간은 사용자 트래픽의 점진적 증가를 시뮬레이션합니다. 테스트 시작 시 모든 동시 사용자를 즉시 사용하는 대신, 사용자의 수가 설정된 시간(X분) 동안 선형적으로 증가하여 동시 사용자의 총 수에 도달합니다. X를 0으로 설정하면 스트레스 테스트를 위해 처음부터 모든 동시 사용자가 활성화됩니다.

위 옵션을 구성한 후 설정을 저장하고 "실행" 버튼을 클릭하여 성능 테스트를 시작하십시오.

단계 3: 성능 테스트 실행

"실행"을 클릭하면 성능 테스트가 시작됩니다. Apidog의 성능 테스트는 사용자 컴퓨터에서 시작되며(단, Apidog 서버 아님) 컴퓨터의 하드웨어 리소스를 활용하여 구성된 테스트 단계, 테스트 데이터 및 동시 요청을 실행합니다.

💡
참고: Apidog의 성능 테스트로 측정 가능한 성능 한계는 현재 컴퓨터의 하드웨어 성능과 네트워크 연결에 의해 제한됩니다. 예를 들어, 컴퓨터가 50개의 동시 요청만 처리할 수 있다면, Apidog의 동시 사용자를 100으로 설정하더라도 실제로 Apidog가 시작할 수 있는 동시 요청 수는 50으로 제한됩니다.

따라서 컴퓨터의 성능 및 다른 API의 동작을 고려하여 성능 문제가 테스트 중인 API에 있는지, 테스트를 시작하는 컴퓨터에 있는지 판단해야 합니다. 시작된 요청 수가 서버나 API와 관계없이 증가하지 않는다면, 성능 테스트를 수행하기 위해 더 강력한 컴퓨터가 필요할 수 있습니다.

성능 테스트가 시작되면 Apidog는 핵심 실시간 성능 지표를 모니터링하고 표시하는 직관적인 시각화 패널을 제공합니다. 여기에는 각 API에 대한 총 요청 수, 초당 요청 수, 평균 응답 시간, 최대/최소 응답 시간, 요청 실패율이 포함됩니다.

직관적인 시각화 패널

성능 지표 이해하기:

시각화 패널은 전체 테스트 시나리오와 개별 API 데이터에 대한 포괄적인 데이터를 제공합니다.

시각화 패널

포괄적 데이터:

  • 총 요청 수: 테스트 동안 API에 의해 처리된 요청의 총 수를 반영합니다. 높은 총 요청 수는 대규모 사용자 시나리오에서는 합리적이지만, API가 이러한 요청을 효과적으로 처리할 수 있는지 확인해야 합니다.
  • 초당 요청 수: 높은 숫자는 API가 짧은 시간에 대량의 요청을 처리할 수 있음을 의미하며, 좋은 성능을 나타냅니다. 낮은 숫자는 성능 병목이 있을 수 있음을 나타냅니다.
  • 평균 응답 시간: 낮은 평균 응답 시간은 일반적으로 사용자가 빠르게 피드백을 받을 수 있음을 의미하며, 우수한 API 성능을 반영합니다. 높은 응답 시간은 느린 응답을 나타내며, 사용자 경험에 영향을 미칠 수 있습니다.
  • 요청 실패율: 실제로 실패율은 0에 가까워야 합니다. 높은 실패율은 특정 상황에서 API가 요청을 제대로 처리하지 못한다는 것을 나타내며, 추가적인 오류 분석 및 최적화가 필요합니다.
  • 동시 사용자: 적절한 수의 동시 사용자를 설정하면 실제 사용자 부하를 시뮬레이션하는 데 도움이 됩니다. 그러나 너무 높게 설정하면 시스템이 과부하되어 성능 저하가 발생할 수 있습니다.

개별 API 데이터:

  • 총 요청 수: 단일 API에 대해 전송된 총 요청 수.
  • 초당 요청 수: 단일 API에 대해 초당 전송된 평균 요청 수.
  • 평균 응답 시간 (ms): 단일 API에 대한 모든 요청의 평균 응답 시간.
  • 최소 응답 시간 (ms): 단일 API에 대한 모든 요청 중 가장 짧은 응답 시간.
  • 최대 응답 시간 (ms): 단일 API에 대한 모든 요청 중 가장 긴 응답 시간.
  • 90% 응답 시간: 단일 API에 대한 요청 중 90번째 백분위수의 응답 시간.
  • 실패율: 단일 API에 대한 실패한 요청의 비율.

테스트 결과 분석:

  • 시각화:

시각화 패널에서 서로 다른 곡선 색상은 수직 축의 서로 다른 성능 지표에 해당합니다. 수평 축은 성능 테스트의 지속 시간을 나타내며, 수직 축은 요청 실패율, 평균 응답 시간 및 초당 요청 수와 같은 지표를 표시합니다(동시 사용자는 기본적으로 숨겨져 있음). 특정 지표를 클릭하면 강조 표시하거나 숨길 수 있어 집중 분석이 가능합니다.

시각화 패널로 성능 테스트
  • 필터링 및 세부정보:
    특정 실패한 요청을 검토하려면 "응답 오류 검증"을 클릭합니다. 특정 API의 성능에 집중하기 위해 필터링 기능을 사용할 수 있습니다.
  • 테스트 보고서:
    성능 테스트 후 "테스트 보고서" 탭을 클릭하면 테스트 시나리오에 대한 모든 과거 보고서를 볼 수 있습니다. 이 보고서는 성능 테스트 실행 전에 설정된 "구성 옵션"을 상세히 설명합니다.

보고서는 유형(기능 테스트, 성능 테스트)에 따라 필터링할 수 있습니다. 테스트 보고서를 클릭하면 해당 세부정보 페이지로 이동하며, 성능 테스트 중 수집된 동일한 메트릭이 표시됩니다.

테스트 보고서

참고: 각 프로젝트에서 한 번에 하나의 성능 테스트만 실행할 수 있습니다. 우선순위가 더 높은 테스트를 실행해야 하는 경우 상단 오른쪽 모서리의 "중단" 버튼을 클릭하여 현재 테스트를 중지합니다.

결론

Apidog는 API 성능 테스트를 위한 사용자 친화적인 솔루션을 제공하여 테스트 매개변수 설정, 테스트 실행 및 결과 보기 프로세스를 간소화합니다. 상세한 성능 지표와 명확한 시각화 패널을 통해 API 성능을 포괄적으로 이해할 수 있습니다.

button
무료로 제공되는 최고의 API 테스트 케이스 관리 도구효과적인 전략

무료로 제공되는 최고의 API 테스트 케이스 관리 도구

여기에서 API 테스트 사례 관리 도구가 등장하여 개발자와 테스터에게 API 품질을 보장하기 위한 효율적인 접근 방식을 제공합니다.

Young-jae

December 18, 2024

2025년 맥을 위한 20가지 최고의 API 디자인 도구효과적인 전략

2025년 맥을 위한 20가지 최고의 API 디자인 도구

이 가이드는 20가지 최고의 API 디자인 도구를 탐구하며, 각 도구의 기능, 가격 및 웹사이트를 자세히 설명합니다. Postman, SwaggerHub와 같은 인기 도구부터 Apidog, RAML Workbench와 같은 전문 도구까지, API 개발을 간소화할 완벽한 소프트웨어를 찾아보세요.

Young-jae

December 16, 2024

2025년 개발자를 위한 최고의 10개 GraphQL 클라이언트효과적인 전략

2025년 개발자를 위한 최고의 10개 GraphQL 클라이언트

2025년, 개발자들은 API 개발을 간소화하기 위해 올바른 GraphQL 클라이언트가 필요합니다. 이 기사에서는 최고의 10개 클라이언트를 순위별로 나열하고 기능과 비교를 분석하여 여러분의 워크플로에 가장 적합한 도구를 선택하는 데 도움을 줍니다.

Young-jae

December 16, 2024