スマートプレースメント
ベータデフォルトでは、WorkersおよびPages Functionsは、リクエストが受信された場所に最も近いデータセンターで呼び出されます。Pages Functionでバックエンドロジックを実行している場合、エンドユーザーではなく、バックエンドインフラストラクチャに近い場所でそのPages Functionを実行する方がパフォーマンスが向上する可能性があります。スマートプレースメント(ベータ)は、レイテンシを最小限に抑え、アプリケーションの速度を向上させる最適な場所にワークロードを自動的に配置します。
Pages Functionで集中型データベース、API、またはオリジンサーバーへの複数の往復を行っている場合、スマートプレースメントの恩恵を受けることができます。
スマートプレースメントは、Pages Functionsおよびミドルウェアに適用されます。通常、アセットは常にグローバルに、ユーザーに最も近い場所から提供されます。
現在、Pagesにおけるスマートプレースメントにはいくつかの注意点があります。アセットは常にユーザーに最も近い場所から提供されることを意図していますが、この動作には2つの例外があります。
-
スマートプレースメントが有効な場合、すべてのリクエストに対してミドルウェア(
functions/_middleware.js)を使用していると、すべてのアセットはバックエンドインフラストラクチャに最も近い場所から提供されます。これにより、予期しないレイテンシの増加が生じる可能性があります。 -
env.ASSETS.fetch↗を使用している場合、Pages FunctionからのASSETSフェッチャーを介して提供されるアセットは、Functionと同じ場所から提供されます。これは、ユーザーではなく、バックエンドインフラストラクチャに最も近い場所である可能性があります。
スマートプレースメントはすべてのプランで利用可能です。
ダッシュボードからスマートプレースメントを有効にするには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- アカウントホームで、Workers & Pagesを選択します。
- 概要で、Pagesプロジェクトを選択します。
- 設定 > Functionsを選択します。
- Placementの下で、Smartを選択します。
- Pages Functionsに初期トラフィック(約20-30リクエスト)を送信します。トラフィックをPages Functionに送信してから、スマートプレースメントが効果を発揮するまでに数分かかります。
- Functions Metricsの下で、Pages Functionのリクエスト時間メトリクスを確認します。
スマートプレースメントはベータ版です。スマートプレースメントに関する考えや体験を共有するには、Cloudflare Developer Discord ↗に参加してください。