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