> ## 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は2種類の問題を探します。それぞれの種類は、結果の中で個別のグループとして表示されます。

* **Latency**：訪問者を待たせるアプリの部分です。たとえば、ページが処理を一度にまとめて行わず1ステップずつ行っていたり、訪問のたびに同じ処理を繰り返していたりする場合があります。
* **Data layer**：N+1クエリ、インデックスの欠落、ページに必要な量を超えるデータの読み込みなど、データベースに関する問題です。

> [!NOTE]
>
> Performance Agentは、コードに結び付けられる問題のみを報告し、修正します。マシンサイズやその他のデプロイメント設定は変更しません。アプリにより強力なパワーを与えるには、[マシン構成](https://docs.replit.com/ja/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カード。「Checkout flow and the orders page」と入力された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の2つのグループに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を選択して詳細を確認します

問題は、グループごとに1つずつ、またはまとめて修正できます。

* グループの **Fix with Agent** は、そのグループのすべての問題を1つのタスクとして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が各修正タスクを進めるのに合わせて、問題のステータスが更新されます

## 再公開して修正を反映する

修正は、再公開した後にのみ訪問者に届きます。1つ以上の修正が **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/ja/features/publishing/after-you-publish.md)をご覧ください。

> [!TIP]
>
> 再公開した後、**Only scan changes since the last scan** をオンにして、もう一度スキャンを実行してください。Performance Agentは、どの問題が修正されたかを確認し、最近の変更に新しい問題がないかをチェックします。

## Performance AgentとMonitoring Agent

どちらのエージェントも **Monitoring** ツールにありますが、答える疑問が異なります。

* **Performance Agent** は、依頼されたときにコードを確認し、訪問者が気づく前でも、アプリを遅くしている問題を見つけます。
* **[Monitoring Agent](https://docs.replit.com/ja/features/publishing/monitoring-agent.md)** は、公開済みアプリを24時間体制で監視し、エラーの急増や応答の遅延といった本番環境のアラートを、発生時に調査します。

遅いコードを見つけて取り除くにはPerformance Agentを、本番環境の問題を検知するにはMonitoring Agentを使用してください。

## 次のステップ

> [card] [アプリをモニタリングする](https://docs.replit.com/ja/features/publishing/monitoring-a-deployment.md)
>
> 公開済みアプリのアップタイム、リクエスト時間、リソース使用状況、ログを追跡します。

> [card] [Monitoring Agent](https://docs.replit.com/ja/features/publishing/monitoring-agent.md)
>
> 本番環境のアラートを調査し、自動的に修正を試みます。

> [card] [マシン構成](https://docs.replit.com/ja/features/publishing/machine-configuration.md)
>
> より多くのパワーが必要なときに、アプリにCPUとメモリを追加します。

> [card] [SEO Agent](https://docs.replit.com/ja/features/publishing/seo-agent.md)
>
> テクニカルSEO監査を実行し、ワンクリックで修正を適用します。
