{"meta":{"title":"코드 검사 분석 시간이 너무 오래 걸립니다","intro":"code scanning 구성을 세밀하게 조정해 분석 시간을 최소화할 수 있습니다.","product":"보안 및 코드 품질","breadcrumbs":[{"href":"/ko/code-security","title":"보안 및 코드 품질"},{"href":"/ko/code-security/reference","title":"Reference"},{"href":"/ko/code-security/reference/code-scanning","title":"코드 검사"},{"href":"/ko/code-security/reference/code-scanning/troubleshoot-analysis-errors","title":"분석 오류 문제 해결"},{"href":"/ko/code-security/reference/code-scanning/troubleshoot-analysis-errors/analysis-takes-too-long","title":"분석 시간이 너무 오래 걸립니다"}],"documentType":"article"},"body":"# 코드 검사 분석 시간이 너무 오래 걸립니다\n\ncode scanning 구성을 세밀하게 조정해 분석 시간을 최소화할 수 있습니다.\n\ncode scanning 분석의 빌드 시간을 단축하기 위해 시도해 볼 수 있는 몇 가지 방법이 있습니다.\n\n## 메모리 또는 코어 늘리기\n\nGitHub 호스팅 실행기를 사용하여 code scanning 분석을 수행하는 경우, 대형 러너로 업그레이드하는 것을 권장합니다. 해당 실행기는 표준 실행기보다 더 많은 RAM, CPU, 디스크 공간을 갖춘 GitHub 호스팅 실행기입니다. 대형 러너 및 code scanning에 대한 자세한 내용은 [더 큰 러너 사용](/ko/actions/using-github-hosted-runners/about-larger-runners) 및 [기본 설정용으로 대형 러너 구성하기](/ko/code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup)을(를) 참조하세요.\n\n자체 호스팅 실행기를 사용해 code scanning 분석을 실행하는 경우, 실행기의 메모리 용량이나 코어 수를 늘릴 수 있습니다. 분석을 위해 고급 설정으로 CodeQL을 사용하는 경우, CodeQL에 권장되는 하드웨어 리소스를 검토하여 자체 호스팅 실행기가 해당 요구 사항을 충족하는지 확인할 수 있습니다. 자세한 내용은 [CodeQL을 실행하기 위한 권장 하드웨어 리소스](/ko/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/recommended-hardware-resources-for-running-codeql)을(를) 참조하세요.\n\n## 행렬 빌드를 사용하여 분석 병렬 처리\n\n여러 작업으로 구성된 워크플로의 분석 속도를 높이기 위해 행렬을 사용하도록 워크플로를 수정할 수 있습니다. 자세한 내용은 [워크플로에서 작업 변형 실행](/ko/actions/using-jobs/using-a-matrix-for-your-jobs)을(를) 참조하세요.\n\n기본 CodeQL 분석 워크플로는 언어 행렬을 활용하여 각 언어의 분석을 병렬로 수행합니다. 하지만 고급 설정을 통해 CodeQL을 사용하며 ‘CodeQL 초기화’ 단계에서 분석할 언어를 직접 지정한 경우에는 각 언어에 대한 분석이 순차적으로 진행됩니다. 이 구성에서는 고급 설정 워크플로를 수정하여 행렬을 사용하도록 하면 분석 속도를 높일 수 있습니다. 예제는 [일부 언어는 CodeQL 고급 설정으로 분석되지 않았습니다.](/ko/code-security/code-scanning/troubleshooting-code-scanning/some-languages-were-not-analyzed)의 워크플로 추출을 참조하세요.\n\n## 단일 워크플로에서 분석되는 코드의 양을 줄입니다.\n\n분석 시간은 일반적으로 분석되는 코드의 양에 비례합니다. 고급 설정에서 CodeQL을 사용할 때 한 번에 분석되는 코드의 양을 줄이면 분석 시간을 단축할 수 있습니다. 예를 들어 테스트 코드를 제외하거나, 코드를 여러 개의 하위 집합으로 나누어 분석하는 방식으로 워크플로를 분리하여 실행할 수 있습니다.\n\n생성된 코드에서 발견된 경고\n\nCodeQL 분석을 여러 워크플로로 분할하는 경우, 리포지토리의 전체 코드를 분석하는 워크플로를 `schedule` 에서 하나 이상 실행하는 것이 좋습니다. CodeQL은(는) 구성 요소 간의 데이터 흐름을 분석하므로 일부 복잡한 보안 동작은 전체 빌드에서만 검색될 수 있습니다.\n\n##\n\n```\n          `schedule` 이벤트 중에만 실행\n```\n\n분석이 `push` 또는 `pull_request` 이벤트 중 느려질 수 있습니다. 그렇다면 `schedule` 이벤트에서만 트리거되도록 분석을 설정할 수 있습니다. CodeQL을 code scanning 분석에 사용하는 경우, 고급 설치 워크플로를 통해 구성 가능하지만, 기본 설정에서는 구성할 수 없습니다. 자세한 내용은 [GitHub Actions에 대한 이해](/ko/actions/learn-github-actions/understanding-github-actions#events)을(를) 참조하세요.\n\n## 워크플로가 실행되는 쿼리 또는 규칙 확인\n\n분석 시간을 줄이는 또 다른 방법은 끌어오기 요청에서 실행되는 워크플로에서 중요하다고 판단되는 쿼리나 규칙만 실행하는 것입니다. code scanning에 타사 도구를 사용하는 경우 해당 도구의 설명서를 참조하세요.\n\nCodeQL에는 각 언어에서 사용할 수 있는 기본 쿼리 도구 모음이 두 가지 있습니다. CodeQL 데이터베이스 빌드를 최적화했는데도 처리 시간이 여전히 너무 오래 걸린다면, 실행하는 쿼리의 수를 줄여볼 수 있습니다. 기본 쿼리 도구 모음은 자동으로 실행되며 품질과 속도 간의 최적의 균형을 제공합니다.\n\n고급 설정에서 CodeQL을 사용할 때 기본 쿼리 외에도 추가 쿼리나 쿼리 도구 모음을 실행할 수 있습니다. 워크플로가 `queries` 요소를 사용하여 실행할 추가 쿼리 도구 모음 또는 추가 쿼리를 정의하는지 확인합니다. 추가 쿼리 도구 모음 또는 쿼리를 사용하지 않도록 설정하여 실험할 수 있습니다. 자세한 내용은 [코드 검색을 위한 워크플로 구성 옵션](/ko/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#using-queries-in-ql-packs)을(를) 참조하세요."}