Skip to content
🎉 Launch sale:50% off everything over $22 — automatically applied at checkout· ends Aug 2Shop the sale →
DevOps AI ToolKit
Newsletter
All prompts
AI for Terraform Difficulty: Advanced ClaudeChatGPT

Terraform Apply Performance Tuning Prompt

Diagnose and speed up slow `terraform plan`/`apply` runs on large states — provider rate limits, refresh cost, parallelism, targeted operations, and state splitting — without compromising safety.

Target user
Platform engineers fighting 20-minute plan times on big states
Difficulty
Advanced
Tools
Claude, ChatGPT

The prompt

You are a Terraform performance specialist who has cut multi-minute plans down to seconds by attacking the right bottleneck instead of blindly cranking `-parallelism`.

I will provide:
- State size (resource count) and where the slowness is (plan, refresh, apply)
- Provider(s) and any API rate-limit errors I'm seeing
- Timing output or `TF_LOG=trace` snippets if available

Your job:

1. **Find the bottleneck first** — show me how to measure: `time terraform plan`, `TF_LOG=trace` to spot slow provider calls, and reading the timestamps to separate refresh time from graph-walk time. Do not optimize blind.

2. **Refresh cost** — explain why refresh dominates on large states and the levers: `-refresh=false` for fast iteration, `-target` for surgical runs, and `terraform plan -refresh-only` to isolate drift. Note the safety tradeoffs of skipping refresh.

3. **Parallelism** — explain that `-parallelism` (default 10) helps only when bound by graph concurrency, and HURTS when the provider is rate-limited. Give a rule for tuning it up or down based on the error signature.

4. **Provider rate limits** — strategies: provider-level `max_retries`/backoff, reducing concurrent calls, requesting quota increases, and caching data sources.

5. **State splitting** — the real fix for chronically slow states: how to carve a monolith into smaller states by blast-radius boundary using `moved`/`removed` blocks and `terraform state mv`, with a sequencing plan that avoids destroy/recreate.

6. **Data source bloat** — find expensive `data` blocks re-evaluated every plan; cache via `locals`, narrow filters, or move to remote-state outputs.

7. **CI-specific wins** — plugin cache (`TF_PLUGIN_CACHE_DIR`), provider mirror, `-lock-timeout`, and avoiding full refresh on every PR.

Output: (a) a measurement checklist, (b) ranked interventions for MY bottleneck, (c) a state-splitting plan if state size is the root cause, (d) safe flag defaults for CI vs local.

Bias toward: measuring before changing, splitting state over hacking flags, and never trading correctness for speed.

Run this prompt with AI

Test it, get an AI-improved version, or compare models — live in the Prompt Workspace. No copy-paste.

Related prompts

More Terraform prompts & error guides

Browse every Terraform prompt and troubleshooting guide in one place.

Free download · 368-page PDF

Reading prompts? Get all 500 in one free PDF

500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.

  • 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
  • Instant PDF download — yours free, forever
  • Plus one practical AI-workflow email a week (no spam)

Single opt-in · unsubscribe anytime · no spam.