Warmup Configuration
The [warmup] section controls the behavior of PRISM's sitemap-based cache warming, which is triggered via the admin API.
TOML Example
[warmup]
concurrency = 4
rate_limit_per_sec = 5
max_urls = 50000
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
concurrency | Integer | 4 | Number of concurrent render requests during warmup |
rate_limit_per_sec | Integer | 5 | Maximum render requests per second during warmup |
max_urls | Integer | 50000 | Maximum number of URLs to process from the sitemap |
Detailed Explanation
How warmup works
Cache warming is initiated through the admin API. PRISM fetches your sitemap (XML), extracts all URLs, and renders them to populate the cache. This ensures that the first bot visit to each page gets a cache hit instead of waiting for a cold render.
concurrency
Controls how many pages are rendered simultaneously during warmup. Higher values warm the cache faster but consume more CPU, memory, and browser tabs. Keep this at or below your render.pool.tabs setting.
rate_limit_per_sec
Limits the rate at which warmup requests are issued. This prevents warmup from overwhelming both PRISM's render pipeline and your origin server. The default of 5 requests/second is conservative and suitable for most deployments.
max_urls
Caps the total number of URLs processed from the sitemap. Large sitemaps with hundreds of thousands of URLs would take too long and consume excessive resources. The default limit of 50,000 URLs covers most sites.
URLs are processed in sitemap order, so prioritize important pages by listing them first in your sitemap.
Example Use Cases
Aggressive warmup for a small site
[warmup]
concurrency = 8
rate_limit_per_sec = 20
max_urls = 5000
Conservative warmup for a large site
[warmup]
concurrency = 2
rate_limit_per_sec = 2
max_urls = 100000
Quick warmup of top pages only
[warmup]
concurrency = 4
rate_limit_per_sec = 10
max_urls = 500
Combine with a curated sitemap that lists only your highest-traffic pages.