By default, and are invoked in a data center closest to where the request was received. If you are running back-end logic in a Pages Function, it may be more performant to run that Pages Function closer to your back-end infrastructure rather than the end user. Smart Placement (beta) automatically places your workloads in an optimal location that minimizes latency and speeds up your applications.
You may benefit from Smart Placement if you are making multiple round trips to a centralized database, API or origin server in a Pages Function.
Smart Placement applies to Pages Functions and middleware. Normally, assets are always served globally and closest to your users.
Smart Placement on Pages currently has some caveats. While assets are always meant to be served from a location closest to the user, there are two exceptions to this behavior:
If using middleware for every request (
functions/_middleware.js) when Smart Placement is enabled, all assets will be served from a location closest to your back-end infrastructure. This may result in an unexpected increase in latency as a result.
When using , assets served via the
ASSETSfetcher from your Pages Function are served from the same location as your Function. This could be the location closest to your back-end infrastructure and not the user.
Enable Smart Placement (beta)
Smart Placement is available on all plans.
Enable Smart Placement via the dashboard
To enable Smart Placement via the dashboard:
- Log in to the and select your account.
- In Account Home, select Workers & Pages.
- In Overview, select your Pages project.
- Select Settings > Functions.
- Under Placement, choose Smart.
- Send some initial traffic (approximately 20-30 requests) to your Pages Functions. It takes a few minutes after you have sent traffic to your Pages Function for Smart Placement to take effect.
- View your Pages Function’s under Functions Metrics.