- A
Reduce the collection frequency to every 4 hours
Why wrong: Reducing frequency doesn't solve the timeout issue.
- B
Implement multiprocessing or multithreading in the Python script to connect to devices concurrently
Concurrency reduces overall execution time significantly.
- C
Replace Netmiko with SNMP polling using the pysnmp library
Why wrong: SNMP may be faster but requires different configuration and may not provide all desired metrics.
- D
Use Ansible playbooks instead of a custom Python script
Why wrong: Ansible can parallelize with forks, but still may have similar issues.
Quick Answer
The answer is to implement multiprocessing or multithreading in the Python script to connect to devices concurrently. This is correct because the core bottleneck in any Netmiko script that processes hundreds of devices is the sequential I/O wait time—each SSH connection blocks the script until it completes, leading to the two-hour runtime and timeouts. By using Python’s `concurrent.futures.ThreadPoolExecutor` or `multiprocessing.Pool`, you overlap these I/O waits, allowing multiple SSH sessions to run in parallel and dramatically improving Python Netmiko script performance with concurrency. On the ENCOR 350-401 exam, this tests your understanding of automation scalability and network programmability concepts; a common trap is thinking Netmiko itself is slow or that you need a different library, when the real fix is parallel execution. Remember the memory tip: “Serial is slow, parallel is fast—threads for I/O, processes for CPU.”
CCNP Automation Practice Question
This 350-401 practice question tests your understanding of automation. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A company has a large network of 500 Cisco IOS XE routers and switches spread across multiple sites. The network team wants to automate the collection of interface statistics every hour and store them in a central database for historical analysis. The team has a Linux server with Python 3 and access to all devices via SSH with key-based authentication. They have written a Python script using Netmiko to connect to each device, run 'show interfaces', and parse the output to extract key metrics (e.g., input/output errors, packets per second). The script works correctly when tested on a small subset of devices, but when run against all 500 devices, it takes too long (over 2 hours) and sometimes fails due to SSH connection timeouts. The team needs to reduce the execution time and improve reliability. Which approach should they take?
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 multiprocessing or multithreading in the Python script to connect to devices concurrently
Option B is correct because the primary bottleneck is sequential SSH connections to 500 devices. By using Python's multiprocessing or multithreading (e.g., concurrent.futures.ThreadPoolExecutor), the script can open multiple SSH sessions in parallel, drastically reducing total wall-clock time. Netmiko itself is not the issue; the serial execution pattern causes the 2-hour runtime and timeouts, which concurrent connections resolve by overlapping I/O wait times.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Reduce the collection frequency to every 4 hours
Why it's wrong here
Reducing frequency doesn't solve the timeout issue.
- ✓
Implement multiprocessing or multithreading in the Python script to connect to devices concurrently
Why this is correct
Concurrency reduces overall execution time significantly.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Replace Netmiko with SNMP polling using the pysnmp library
Why it's wrong here
SNMP may be faster but requires different configuration and may not provide all desired metrics.
- ✗
Use Ansible playbooks instead of a custom Python script
Why it's wrong here
Ansible can parallelize with forks, but still may have similar issues.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Cisco often tests the misconception that switching protocols (SNMP) or tools (Ansible) automatically solves performance issues, when the real root cause is lack of concurrency in the execution model.
Trap categories for this question
Similar concept trap
Ansible can parallelize with forks, but still may have similar issues.
Detailed technical explanation
How to think about this question
Netmiko uses Paramiko under the hood for SSH, which is I/O-bound; threading or multiprocessing allows the script to send SSH channel requests while other threads wait for responses, effectively hiding latency. A common real-world pitfall is hitting the device's SSH max-session limit (often 5-10 per VTY line) when using too many concurrent threads, so a semaphore or connection pool (e.g., bounded ThreadPoolExecutor with max_workers=20-50) is needed to avoid overwhelming the network devices. Additionally, using 'asyncio' with asyncssh could be even more efficient for high concurrency, but multiprocessing/threading is the simplest fix for the given Python 3 environment.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A small business has 20 workstations on the 192.168.1.0/24 network and one public IP from its ISP. The router uses PAT (NAT overload) so all 20 devices share one public address using different source ports. NAT questions test whether you understand the four address terms and which direction each translation applies.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Automation — study guide chapter
Learn the concepts, then practise the questions
- →
Automation practice questions
Targeted practice on this topic area only
- →
All 350-401 questions
2,015 questions across all exam domains
- →
ENCOR 350-401 study guide
Full concept coverage aligned to exam objectives
- →
350-401 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related 350-401 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Architecture practice questions
Practise 350-401 questions linked to Architecture.
Enterprise Network Design practice questions
Practise 350-401 questions linked to Enterprise Network Design.
SD-Access Architecture practice questions
Practise 350-401 questions linked to SD-Access Architecture.
SD-WAN Architecture practice questions
Practise 350-401 questions linked to SD-WAN Architecture.
QoS Architecture practice questions
Practise 350-401 questions linked to QoS Architecture.
Virtualization practice questions
Practise 350-401 questions linked to Virtualization.
Network Function Virtualization practice questions
Practise 350-401 questions linked to Network Function Virtualization.
Virtual Machines and Hypervisors practice questions
Practise 350-401 questions linked to Virtual Machines and Hypervisors.
VRF and Path Isolation practice questions
Practise 350-401 questions linked to VRF and Path Isolation.
Infrastructure practice questions
Practise 350-401 questions linked to Infrastructure.
OSPF practice questions
Practise 350-401 questions linked to OSPF.
BGP practice questions
Practise 350-401 questions linked to BGP.
Practice this exam
Start a free 350-401 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this 350-401 question test?
Automation — This question tests Automation — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Implement multiprocessing or multithreading in the Python script to connect to devices concurrently — Option B is correct because the primary bottleneck is sequential SSH connections to 500 devices. By using Python's multiprocessing or multithreading (e.g., concurrent.futures.ThreadPoolExecutor), the script can open multiple SSH sessions in parallel, drastically reducing total wall-clock time. Netmiko itself is not the issue; the serial execution pattern causes the 2-hour runtime and timeouts, which concurrent connections resolve by overlapping I/O wait times.
What should I do if I get this 350-401 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Last reviewed: Jun 11, 2026
This 350-401 practice question is part of Courseiva's free Cisco 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 350-401 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.