[부하 테스트] 파견을 통한 부하테스트 진행 중 겪은 이슈

2025. 2. 8. 20:03·실무 | 성장/프로젝트 사례

1. 개요

최근 파견 프로젝트에서 JMeter, InfluxDB, Grafana, Prometheus 등을 활용한 부하 테스트를 진행하는 중, 예상치 못한 보안 이슈로 인해 작업 일정이 지연되는 사례를 경험하였습니다. 본 포스팅에서는 해당 문제의 원인과 함께 사전 준비 체크리스트, SSO 인증 이슈, API 요청 관련 고려사항, 시나리오 구성 등 핵심 사항을 정리하여 향후 동일 상황에서 신속하고 효율적으로 대응할 수 있는 방안을 제시하고자 합니다.


2. 사전 준비 체크리스트

2-1. 환경 정보 수집

테스트 수행 전, 인프라 환경에 대한 정확한 정보를 수집하는 것은 필수적입니다. 아래 사항들을 반드시 확인해 주십시오.

  • OS 및 서버 버전 정보: 운영체제, 웹 서버(톰캣, 아파치 등)의 정확한 버전 및 패치 이력
  • 네트워크 아키텍처 및 방화벽 구성: 데이터 흐름, 내부 및 외부 통신 경로, 방화벽 룰 설정
  • 로드 밸런서 설정 및 구성: 로드 밸런서 종류, 세션 스티키니스 여부, 헬스 체크 상태
  • 허용된 포트 목록: 외부 접속 및 내부 서버 간 통신에 사용되는 포트 번호
  • DB 접근 권한 및 제약사항: 데이터베이스 접속 정책, 제한 사항, 인증 방식 등

2-2. 필수 파일 준비

각 테스트 툴과 관련된 핵심 파일 및 의존성 파일을 미리 준비해야 합니다.

  • JMeter: 성능 테스트 플러그인, 라이브러리, 의존성 파일
  • Grafana: 대시보드 템플릿, 데이터 소스 설정 파일
  • InfluxDB: 구성 파일 및 데이터 적재를 위한 스크립트
  • 모니터링 스크립트: 서버/어플리케이션 상태를 모니터링하기 위한 각종 스크립트 및 설정

2-3. 추가 파일 준비

모니터링 및 성능 데이터를 수집하는 역할을 하는 도구 관련 추가 파일도 사전에 구성해야 합니다.

  • Prometheus 관련 파일:
    • Node Exporter: 서버 레벨 모니터링을 위한 설정 파일
    • Apache, Tomcat Exporter: 어플리케이션 레벨 데이터를 수집하기 위한 설정 및 스크립트

3. 보안 승인 절차에 따른 작업 지연

내부망 환경에서는 모든 파일 설치 및 포트 오픈 작업이 보안 승인 절차를 거쳐야 하므로, 사전에 관련 문서와 파일을 요청 및 구성해두는 것이 중요합니다.

  • 사전 요청 필수 항목: OS, 서버(톰캣, 아파치) 버전 정보, 포트 허용 여부 등의 상세 문서
  • 파일 구성: 추가 라이브러리, 설정 파일 등 미리 준비하지 않은 파일은 승인 절차로 인해 작업 지연이 발생할 수 있음
  • JMeter와 Grafana: 내부망 내 설치 어려움으로, 해당 플러그인 및 대시보드 파일은 사전에 준비하여야 함

4. SSO 관련 이슈

SSO(Single Sign-On)를 활용한 인증이 포함된 테스트의 경우, 사전 테스트와 설정을 철저히 하지 않으면 아래와 같은 문제점이 발생할 수 있습니다.

  • 예상치 못한 인증 문제: 특정 API나 시스템 접근 시 인증 과정에서 예기치 않은 동작 및 제한 발생
  • 사전 점검 사항:
    • SSO 테스트 환경 구축 및 철저한 사전 검증
    • 인증 관련 API 및 시스템 접근 경로 확인
    • 만약 A서버에서 B서버로 요청이 발생하는 경우, 두 서버 간 인증 및 접근 정책에 대한 사전 협의 및 해결 방안 마련

5. API 요청 관련 고려사항

API 호출 시, HTTP CODE가 성공(200)으로 출력되더라도 내부적으로 토큰 또는 헤더 값 검증이 필요한 경우가 있으므로 아래 사항을 유의해야 합니다.

  • JMeter Header Manager 활용:
    • 공통 헤더 설정을 통해 모든 요청에 일관된 인증 정보 및 필요한 추가 정보를 포함시켜야 함
    • 테스트 시나리오에서 API 호출에 따른 실제 결과를 검증할 때, 토큰 및 헤더 값 확인 필수

6. 시나리오 관련

복수의 테스트 시나리오를 실행할 때, 단순히 쓰레드 그룹을 통해 다중 요청을 보내는 것보다, 보다 세분화된 컨트롤이 필요합니다.

  • Simple Controller 활용:
    • 여러 레코딩 컨트롤러를 하나의 쓰레드 그룹 내에 포함시켜, 다양한 시나리오를 동시에 실행할 수 있도록 구성
    • 복잡한 시나리오의 경우 각 단계별 분리 및 독립적인 로그 관리를 통해 문제점을 신속히 파악 가능

7. 결론

부하 테스트 수행 시, 보안 이슈로 인한 작업 지연은 사전 준비와 내부 승인 절차 미비로 발생할 가능성이 큽니다.

  • 사전 준비: 환경 정보, 필수 파일, 추가 모니터링 파일을 체계적으로 준비하여 승인 절차에 따른 지연 최소화
  • 사전 요청: OS 및 서버 버전 정보, 포트 허용 여부, SSO 인증 정보 등을 미리 요청하여 작업 환경을 명확히 할 것
  • 테스트 시나리오 구성: JMeter, Grafana 등 각 도구 별 파일 구성과 요청 헤더 설정, 시나리오 다양화를 통해 실제 상황에 근접한 테스트 환경 구축

이와 같이 철저한 사전 준비와 내부 승인 절차 준수를 통해, 향후 부하 테스트 진행 시 발생할 수 있는 보안 이슈 및 작업 지연을 효과적으로 예방하고, 테스트의 신뢰도를 높일 수 있을 것입니다.

'실무 | 성장 > 프로젝트 사례' 카테고리의 다른 글

[Ubuntu] 서버에서 Laravel 파일 권한 설정 완벽 가이드  (0) 2025.04.21
'실무 | 성장/프로젝트 사례' 카테고리의 다른 글
  • [Ubuntu] 서버에서 Laravel 파일 권한 설정 완벽 가이드
알쓸신개
알쓸신개
  • 알쓸신개
    알아두면 쓸모있는 신기한 개발지식
    알쓸신개
  • 전체
    오늘
    어제
    • 분류 전체보기 (62)
      • 웹 기초 | 디자인 (2)
        • HTML (0)
        • CSS (0)
        • 반응형 (0)
        • 웹 지식 | 웹 표준 | 접근성 (2)
      • 프론트엔드 (6)
        • JavaScript (6)
        • DOM 조작 | AJAX (0)
        • TypeScript (0)
        • Vue.js | React | JSX (0)
        • Webpack | Vite | 웹 컴포넌트 (0)
      • 백엔드 (19)
        • PHP (5)
        • Laravel (9)
        • CodeIgniter (0)
        • JAVA (0)
        • Spring (0)
        • 디자인 패턴 (2)
        • 테스트 코드 작성 (1)
        • 보안 | 인증 (1)
      • 데이터베이스 (5)
        • SQL 기초 (1)
        • MariaDB | MySql (0)
        • 데이터베이스 설계 (1)
        • 쿼리 최적화(튜닝) (0)
      • 실무 | 성장 (9)
        • 프로젝트 사례 (2)
        • 트러블슈팅 | 개발팁 (7)
        • 커리어 관련 (0)
        • 코드 리뷰 | 스터디 (0)
        • 애자일 | 스크럼 | 작업 방법론 (0)
      • 개발 환경 | 도구 (18)
        • 버전관리 (Git) (3)
        • 개발 도구 (IDE, 에디터 등) (3)
        • 서버 | 인프라 | 배포 | 운영 (11)
        • Docker | 컨테이너 (0)
        • CI | CD (1)
        • 클라우드 환경 (AWS | GCP) (0)
      • 보안 (2)
        • 보안 | 인증 전반 (2)
        • CSRF | XSS 대응 (0)
        • SQL 인젝션 (0)
        • 암호화 | 해시 (0)
        • 보안 취약점 분석 (0)
      • AI & 머신러닝 (0)
        • AI 툴의 특성 (0)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
알쓸신개
[부하 테스트] 파견을 통한 부하테스트 진행 중 겪은 이슈
상단으로

티스토리툴바