> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Performance Agent

> Performance Agent로 앱의 느린 요청과 데이터베이스 병목 현상을 스캔한 다음, Agent로 문제를 수정하고 다시 게시하세요.

Performance Agent는 프로젝트의 소스 코드와 로그를 검토하여 앱을 느리게 만드는 구체적이고 수정 가능한 문제를 찾아냅니다. 각 결과에는 쉬운 말로 된 요약, 심각도, 그리고 Agent가 대신 적용할 수 있는 권장 수정 사항이 포함됩니다.

## Performance Agent가 찾아내는 문제

Performance Agent는 두 가지 유형의 문제를 찾습니다. 각 유형은 결과에서 별도의 그룹으로 표시됩니다.

* **Latency**: 방문자를 기다리게 만드는 앱의 부분입니다. 예를 들어 페이지가 느린 작업을 한 번에 처리하지 않고 한 단계씩 처리하거나, 방문할 때마다 같은 작업을 반복할 수 있습니다.
* **Data layer**: N+1 쿼리, 누락된 인덱스, 페이지에 필요한 것보다 많은 데이터를 불러오는 것과 같은 데이터베이스 문제입니다.

> [!NOTE]
>
> Performance Agent는 코드와 연결할 수 있는 문제만 보고하고 수정합니다. 머신 크기나
> 다른 배포 설정은 변경하지 않습니다. 앱에 더 강력한 성능을 제공하려면 [머신
> 구성](https://docs.replit.com/ko/features/publishing/machine-configuration.md)을 참고하세요.

## 시작하기 전에

Performance Agent를 사용하려면 다음이 필요합니다:

* **유료 플랜.** Performance Agent는 유료 플랜의 빌더가 사용할 수 있습니다. 무료 플랜을 사용 중이라면 **Performance scan** 카드에 업그레이드 옵션이 표시됩니다.
* **프로젝트에 대한 편집 권한.**

앱을 게시하기 전에도 스캔할 수 있습니다. 게시한 후에는 Performance Agent가 배포 로그를 사용하여 실제 방문자에게 느린 엔드포인트도 찾을 수 있습니다.

스캔은 프로젝트를 읽기만 합니다. 코드, 데이터베이스, 게시된 앱을 변경하지 않습니다. 변경은 사용자가 문제 수정을 선택할 때만 이루어집니다.

## 스캔 시작하기

**1. Monitoring 열기**

프로젝트의 **Tools** 패널에서 **Replit Cloud** 아래의 **Monitoring**을 엽니다. **Performance scan** 카드까지 스크롤합니다.

**2. 스캔 실행하기**

**Run scan with Agent**를 선택하면 기본 설정으로 프로젝트 전체를 스캔합니다.

스캔 범위를 좁히려면 먼저 **Run scan with Agent** 옆의 화살표를 선택하세요:

* **Add context (optional)**: "결제 흐름과 주문 페이지"처럼 중요하게 생각하는 앱의 부분을 설명합니다.
* **Only scan changes since the last scan**: 이 확인란을 선택하면 이전 스캔 이후 변경된 내용만 검토합니다. Performance Agent는 해당 스캔에서 발견된 문제가 아직 남아 있는지도 다시 확인합니다.

그런 다음 **Start performance scan**을 선택합니다.

![스캔 옵션이 열려 있는 Performance scan 카드. 결제 흐름과 주문 페이지가 입력된 Add context 필드, 선택된 Only scan changes since the last scan 확인란, Start performance scan 버튼이 표시되어 있음](https://mintcdn.com/replit/Ra56mnn_KIIRW4c1/images/deployments/performance-agent/01-start-scan.png?fit=max\&auto=format\&n=Ra56mnn_KIIRW4c1\&q=85\&s=f9ff4e8e319bde843e0c9a962b0be247)

스캔을 시작하기 전에 컨텍스트를 추가하거나 최근 변경 사항으로 범위를 제한하세요

**3. 결과 기다리기**

스캔은 별도의 작업으로 실행되므로 계속 개발할 수 있습니다. 실행되는 동안 카드에 **Scan in progress**가 표시됩니다. 스캔은 보통 몇 분 정도 걸립니다. **Go to task**를 선택하면 진행 상황을 따라갈 수 있습니다.

채팅에서 Agent에게 스캔을 시작해 달라고 요청할 수도 있습니다:

내 앱에서 성능 스캔을 실행해 줘.

## 결과 검토하기

스캔이 끝나면 스캔 작업에 **Performance scan results** 카드가 나타납니다. 이 카드는 Performance Agent가 발견한 새로운 문제의 수를 **Latency**와 **Data layer**로 그룹화하여 보여줍니다. 문제를 펼쳐 요약을 읽거나, **View issue**를 선택하여 영향을 받는 파일과 권장 수정 사항을 포함한 전체 세부 정보를 확인하세요.

![Latency와 Data layer 두 그룹에 걸친 4개의 새로운 문제를 보여주는 Performance scan results 카드. 각 문제에는 High 또는 Medium 심각도 레이블이 있으며, Fix later와 Fix all issues 버튼이 표시되어 있음](https://mintcdn.com/replit/Ra56mnn_KIIRW4c1/images/deployments/performance-agent/02-scan-results.png?fit=max\&auto=format\&n=Ra56mnn_KIIRW4c1\&q=85\&s=177c56d4b8b55cca76a02f2d0f37527d)

스캔 결과는 새로운 문제를 유형과 심각도별로 그룹화합니다

다음에 할 작업을 선택하세요:

* **Fix all issues**: Agent가 각 그룹에 대해 수정 작업을 시작하고 **Monitoring** 도구를 열어 진행 상황을 추적할 수 있게 합니다.
* **Fix later**: 아무것도 변경하지 않고 결과를 닫습니다. 문제는 **Performance scan** 카드에 남아 있으므로 준비되면 언제든지 수정할 수 있습니다.

스캔에서 새로운 문제가 발견되지 않으면 카드에 그렇게 표시되며 **Got it**을 선택할 수 있습니다.

## Monitoring에서 문제 수정하기

**Monitoring** 도구의 **Performance scan** 카드는 이전 스캔에서 발견된 문제를 포함하여 열려 있는 모든 문제를 추적합니다. 문제는 **Latency**와 **Data layer**로 그룹화되며, 각 문제에는 **Severity**와 **Status**가 있습니다. 문제를 펼쳐 요약을 읽거나, **View issue**를 선택하여 전체 세부 정보를 확인하세요.

![Monitoring 도구의 Performance scan 카드. Latency와 Data layer 아래에 그룹화된 문제 표, 심각도 레이블, 각 문제의 Unresolved 상태가 표시되어 있음. 첫 번째 Latency 문제가 펼쳐져 요약과 View issue 버튼이 보임. 각 그룹에는 Fix with Agent 버튼이 있고 헤더에는 Fix all with Agent 버튼이 있음](https://mintcdn.com/replit/Ra56mnn_KIIRW4c1/images/deployments/performance-agent/03-monitoring-issues.png?fit=max\&auto=format\&n=Ra56mnn_KIIRW4c1\&q=85\&s=0a7179ccd7324d6f663537db0c13436c)

문제를 펼쳐 요약을 읽거나, View issue를 선택하여 전체 세부 정보를 확인하세요

문제를 그룹별로 하나씩 수정하거나 한꺼번에 수정할 수 있습니다:

* 그룹의 **Fix with Agent**는 해당 그룹의 모든 문제를 하나의 작업으로 Agent에게 보냅니다.
* **Fix all with Agent**는 열려 있는 모든 그룹을 Agent에게 보냅니다.

Agent는 각 수정 작업을 백그라운드에서 병렬로 처리하므로 계속 개발할 수 있습니다. 작업이 진행됨에 따라 각 문제의 상태가 업데이트됩니다:

* **Fix in progress**: Agent가 수정 작업 중입니다. **Go to task**를 선택하면 진행 상황을 따라갈 수 있습니다.
* **Ready for review**: 수정이 완료되었습니다. 작업을 열어 변경 사항을 검토한 다음 **Apply changes to main version**을 선택하여 앱에 추가하세요.
* **Applying fix**: Replit이 변경 사항을 앱에 추가하고 있습니다.
* **Ready for republish**: 수정 사항이 앱에는 반영되었지만 아직 게시된 버전에는 반영되지 않았습니다.
* **Fixed**: 수정 사항이 라이브 상태입니다.

![Latency 문제는 Fix in progress, Data layer 문제는 Ready for review로 표시되고, 각 그룹에 Go to task 버튼이 있는 Performance scan 카드](https://mintcdn.com/replit/Ra56mnn_KIIRW4c1/images/deployments/performance-agent/04-fixes-in-progress.png?fit=max\&auto=format\&n=Ra56mnn_KIIRW4c1\&q=85\&s=af3c795ecfb5ff06829e2d0f4ee55fa9)

Agent가 각 수정 작업을 처리함에 따라 문제 상태가 업데이트됩니다

## 다시 게시하여 수정 사항 적용하기

수정 사항은 다시 게시한 후에야 방문자에게 반영됩니다. 하나 이상의 수정이 **Ready for republish** 상태가 되면 **Performance scan** 카드에 **Republish project** 버튼이 나타납니다. 이를 선택하면 수정 사항이 포함된 새 버전의 앱이 게시됩니다. 상태는 **Publishing**을 거쳐 **Fixed**로 바뀝니다.

![모든 문제가 Ready for republish로 표시되고, 헤더의 Run scan with Agent 옆에 Republish project 버튼이 있는 Performance scan 카드](https://mintcdn.com/replit/Ra56mnn_KIIRW4c1/images/deployments/performance-agent/05-republish.png?fit=max\&auto=format\&n=Ra56mnn_KIIRW4c1\&q=85\&s=0afaf8a0aa81222fc43646a95f6e0e15)

Republish project를 선택하여 수정 사항을 라이브로 반영하세요

**Publishing** 도구에서도 다시 게시할 수 있습니다. [게시 후 진행 과정](https://docs.replit.com/ko/features/publishing/after-you-publish.md)을 참고하세요.

> [!TIP]
>
> 다시 게시한 후에는 **Only scan changes since the last scan**을 선택한 상태로 스캔을
> 한 번 더 실행하세요. Performance Agent가 어떤 문제가 수정되었는지 확인하고 최근
> 변경 사항에서 새로운 문제가 있는지 점검합니다.

## Performance Agent와 Monitoring Agent

두 Agent 모두 **Monitoring** 도구에 있지만 서로 다른 질문에 답합니다:

* **Performance Agent**는 요청할 때 코드를 검토하고, 방문자가 알아차리기 전에도 앱을 느리게 만드는 문제를 찾아냅니다.
* \*\*[Monitoring Agent](https://docs.replit.com/ko/features/publishing/monitoring-agent.md)\*\*는 게시된 앱을 24시간 감시하고, 오류 급증이나 느린 응답과 같은 프로덕션 알림을 발생하는 즉시 조사합니다.

느린 코드를 찾아 제거하려면 Performance Agent를 사용하세요. 프로덕션 문제를 포착하려면 Monitoring Agent를 사용하세요.

## 다음 단계

> [card] [앱 모니터링하기](https://docs.replit.com/ko/features/publishing/monitoring-a-deployment.md)
>
> 게시된 앱의 가동 시간, 요청 시간, 리소스 사용량, 로그를 추적하세요.

> [card] [Monitoring Agent](https://docs.replit.com/ko/features/publishing/monitoring-agent.md)
>
> 프로덕션 알림을 조사하고 자동으로 수정을 시도합니다.

> [card] [머신 구성](https://docs.replit.com/ko/features/publishing/machine-configuration.md)
>
> 더 많은 성능이 필요할 때 앱에 더 많은 CPU와 메모리를 제공하세요.

> [card] [SEO Agent](https://docs.replit.com/ko/features/publishing/seo-agent.md)
>
> 기술적 SEO 감사를 실행하고 원클릭 수정을 적용하세요.
