성능 튜닝 및 테스팅 속도
성능 튜닝 및 테스팅 속도에 대해 설명합니다.
API 퍼징과 같이 API 퍼즈 테스팅을 수행하는 보안 도구는 실행 중인 애플리케이션 인스턴스에 요청을 전송하여 테스팅을 수행합니다. 요청은 퍼징 엔진에 의해 변경되어 애플리케이션에 존재할 수 있는 예상치 못한 동작을 트리거합니다. API 퍼징 테스트의 속도는 다음에 따라 달라집니다: GitLab 도구가 애플리케이션에 초당 몇 개의 요청을 전송할 수 있는지 애플리케이션이 요청에 얼마나 빠르게 응답하는지 애플리케이션을 테스트하려면 얼마나 많은 요청을 전송해야 하는지 API가 얼마나 많은 작업으로 구성되어 있는지 각 작업에 얼마나 많은 필드가 있는지 (JSON 본문, 헤더, 쿼리 문자열, 쿠키 등을 생각해보세요) 이 성능 가이드의 조언을 따른 후에도 API 퍼징 테스팅 작업이 예상보다 오래 걸리면 지원팀에 추가 도움을 요청하세요. 성능 이슈 진단 # 성능 이슈를 해결하는 첫 번째 단계는 예상보다 느린 테스팅 시간에 기여하는 요소를 파악하는 것입니다. 일반적으로 보고되는 이슈는 다음과 같습니다: API 퍼징이 낮은 vCPU 러너에서 실행 중 애플리케이션이 느린/단일 CPU 인스턴스에 배포되어 테스팅 부하를 따라잡지 못함 애플리케이션에 전체 테스트 속도에 영향을 미치는 느린 작업이 포함됨(1/2초 초과) 애플리케이션에 많은 양의 데이터를 반환하는 작업이 포함됨(500K+ 초과) 애플리케이션에 많은 수의 작업이 포함됨(40개 초과) 전체 테스트 속도에 영향을 미치는 느린 작업이 포함된 애플리케이션(1/2초 초과) # API 퍼징 작업 출력에는 테스팅 속도, 작업 응답 시간 및 요약 정보에 대한 유용한 정보가 포함되어 있습니다. 다음 샘플 출력을 사용하여 성능 이슈를 추적합니다: API Fuzzing: Loaded 10 operations from: assets/har-large-response/large_responses.har API Fuzzing: API Fuzzing: Testing operation [1/10]: 'GET http://target:7777/api/large_response_json'. API Fuzzing: - Parameters: (Headers: 4, Query: 0, Body: 0) API Fuzzing: - Request body size: 0 Bytes (0 bytes) API Fuzzing: API Fuzzing: Finished testing operation 'GET http://target:7777/api/large_response_json'. API Fuzzing: - Excluded Parameters: (Headers: 0, Query: 0, Body: 0) API Fuzzing: - Performed 767 requests API Fuzzing: - Average response body size: 130 MB API Fuzzing: - Average call time: 2 seconds and 82.69 milliseconds (2.082693 seconds) API Fuzzing: - Time t
