Improve Ansible Automation Platform Performance
An Ansible Automation Platform administrator is reviewing a job template that runs a playbook against a large inventory. To improve performance without sacrificing accuracy, which TWO strategies should be implemented? (Choose two.)
Quick Answer
Enabling fact caching with a Redis backend is correct because fact gathering, the setup phase where Ansible connects to every host and collects data like OS version, network interfaces, and installed packages, is one of the most expensive parts of running a playbook against a large inventory, and by default it happens on every single run. Fact caching stores that gathered data in an external store so later runs can pull the same facts back out instead of re-collecting them from scratch, and Redis is a natural choice because it is a fast, shared cache that any control node can read from, which keeps accuracy intact since the underlying facts have not changed. This is different from a tool like ansible-cmdb, which consumes already-gathered facts to build a documentation database rather than doing anything to speed up subsequent playbook runs - it solves a reporting problem, not a performance one. When you see a question about improving playbook performance for large inventories without losing accuracy, look for the option that avoids repeating expensive, redundant work rather than skipping necessary work altogether - caching gathered facts is the classic example of getting both speed and correctness at once.
⚠ Common exam trap
Test-takers frequently confuse 'improving performance' with 'increasing parallelism' (Option D) or 'skipping facts entirely' (Option E), without realizing that fact caching preserves accuracy while reducing redundant work, and that ansible-cmdb is a documentation tool, not a runtime performance enhancer.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Implement the ansible-cmdb tool to generate a CMDB from gathered facts.
The ansible-cmdb tool generates a Configuration Management Database (CMDB) from gathered facts, which can be used for documentation and analysis without re-running fact gathering on every playbook execution. Option B is correct because enabling fact caching with a Redis backend stores gathered facts in a fast, external cache, allowing subsequent playbook runs to reuse cached facts instead of gathering them again from each host, which significantly reduces execution time for large inventories.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Implement the ansible-cmdb tool to generate a CMDB from gathered facts.
Why this is correct
ansible-cmdb centralizes system information, reducing the need for repeated fact gathering.
- ✓
Enable fact caching using a Redis backend.
Why this is correct
Fact caching stores gathered facts across runs, reducing the need to gather facts repeatedly.
- ✗
Use the serial keyword to limit concurrent execution to 1 host at a time.
Why it's wrong here
Serial reduces concurrency, which typically reduces performance.
- ✗
Set forks to 50 in ansible.cfg to maximize parallel execution.
Why it's wrong here
Increasing forks too high may cause performance degradation due to network or control node limits.
- ✗
Set gathering = explicit in ansible.cfg to skip fact gathering.
Why it's wrong here
Skipping fact gathering may cause playbooks to miss necessary variables, leading to inaccuracies.
Go deeper
Related to this question
About these practice questions
This EX294 question is part of Courseiva's 520-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
1 more way this is tested on EX294
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. An administrator wants to ensure that Ansible facts gathered from a host are consistent across multiple playbook runs. Which two actions can help achieve this? (Choose two.)
easy- A.Use 'gather_facts: no' and manually run 'setup' module with specific filter.
- B.Use 'tags' to only gather facts on selective runs.
- ✓ C.Enable fact caching using 'ansible_cache' plugin with a persistent backend like Redis.
- D.Disable fact caching and gather facts every time.
- ✓ E.Set 'ANSIBLE_GATHERING=smart' and configure cache_timeout.
Why C: Enabling fact caching with a persistent backend like Redis stores gathered facts between playbook runs, ensuring consistency without re-gathering. Option E is correct because setting 'ANSIBLE_GATHERING=smart' with a configured cache_timeout allows Ansible to reuse cached facts within the timeout period, providing consistent data across runs.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This EX294 practice question is part of Courseiva's free Red Hat certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the EX294 exam.