ONTAP 9 · SMB examples · AFF/FAS-style volume workflows; verify exact release/platform support, especially QoS scope and FlexCache write-back. Read-only commands below use fictional object names.
Fictional example: users access the Projects SMB share on svm_prod. A backup becomes busy at 10:00 and users report slow opens. A remote office also reads the same project files across a WAN. The investigation must separate workload limits, shared-volume contention, client/network delays and cache behavior.
About the command and output examples
Names, addresses and results are illustrative. Commands have not been executed against a live storage system or SAN switch for this publication. Confirm syntax and compatibility for your release, then rehearse in an approved lab. Existing-data recovery and destructive changes need an environment-specific plan. Read the editorial standards.
01What is QoS, and what does it improve?
Quality of Service controls how storage workloads consume resources. A maximum throughput setting can contain a noisy workload; a supported minimum throughput setting gives a workload a floor under the documented conditions. QoS does not manufacture CPU, disk or network capacity and does not promise a particular application response time.
A strong interview answer names the protected workload, the contention being controlled and the evidence used to select a limit. For example, constrain a batch workload only after observing that its demand interferes with a critical workload. Record the original policy, obtain change approval, change one setting and compare both workloads afterward.
Explain QoS as resource control, not a universal performance accelerator.
02What is the difference between IOPS, throughput and latency?
IOPS counts operations per second. Throughput counts transferred bytes per second. Latency measures time per operation. Application response time can additionally include client processing, WAN delay, authentication and multiple storage operations. Always state units and measurement scope.
Illustrative arithmetic: 5,000 operations/s × 8 KiB per operation is about 39.1 MiB/s. At the same IOPS, 64 KiB operations move about 312.5 MiB/s. This simplified calculation excludes protocol overhead and mixed operation sizes; it explains why IOPS alone does not describe bandwidth.
| Observation | Possible interpretation | Next evidence |
|---|---|---|
| IOPS stable at a policy ceiling | Throttling may be active | Policy scope plus QoS Max delay |
| Low MiB/s with many small files | Metadata/round-trip-bound work is possible | Operation mix and client/network timing |
| High application delay but low volume latency | Delay may occur outside measured storage service | Client CPU, network and application trace |
03Can we assign QoS directly to an SMB share?
Do not assume an SMB share is an independently assignable QoS object. Inspect the supported storage-object scope for the exact platform and release: conventional ONTAP policies commonly target an SVM, volume, LUN or supported file workload; other scopes depend on release. An SMB share name is a namespace/access object, not automatically a volume workload.
Map the share path to its actual hosting volume, including deeper junctions. If Projects and Archive share one volume, a volume ceiling can affect both. Separating workloads into dedicated volumes can improve isolation but requires a planned namespace/data migration. Do not claim that changing a share ACL limits IOPS. FlexCache file-level QoS is not supported in the referenced feature matrix.
vserver cifs share show -vserver svm_prod -share-name Projects -instance
volume show -vserver svm_prod -fields junction-path
qos policy-group show
volume show -vserver svm_prod -volume vol_projects -instance04What are shared, non-shared and adaptive QoS policies?
With a shared policy, member workloads consume a collective budget. With a non-shared policy, the defined settings apply individually to member workloads where supported. Therefore a 5,000 IOPS policy does not mean the same thing until its sharing behavior and membership are known.
Adaptive QoS scales a performance policy according to capacity-related parameters and policy settings. Confirm the allocated/used-space basis, absolute minimums and platform/release support rather than quoting one universal IOPS/TB rule. A floor is not a latency guarantee. Before changing any policy, inspect all objects that share it and any documented restrictions on overlapping object assignments.
State policy scope, sharing behavior, units, membership and support conditions before estimating impact.
05How do you start troubleshooting one slow SMB share?
- Define the symptom: slow connect, directory listing, file open, read, write or application save. Record timestamps/timezone, client IP, user, UNC path and whether one or all users are affected.
- Resolve the actual SMB server and share target; account for DFS referrals and junctions. Find the hosting volume and serving LIF/node. Do not troubleshoot a similarly named volume by assumption.
- Compare the same operation from a second approved client and, where possible, from the local site. Keep file set, identity and test timing comparable. Use a disposable test directory and avoid load-generating benchmarks on production.
- Collect client and storage evidence over the same interval. Compare with a normal baseline and another share on the same volume and on a different volume. A connection timeout, access denial and slow successful read require different investigations.
vserver cifs share show -vserver svm_prod -share-name Projects -instance
vserver cifs session show -vserver svm_prod -share-names Projects -instance
vserver cifs session file show -vserver svm_prod -share Projects
network interface show -vserver svm_prod
volume show -vserver svm_prod -fields junction-pathIdentify the real data path and a reproducible operation before changing configuration.
06How do you prove that a QoS ceiling is causing the delay?
- Inspect the effective volume/workload policy and its members. A configured ceiling is not proof that it is currently restricting demand.
- Observe workload IOPS/throughput and latency during the exact failing operation. Look for sustained demand at the configured ceiling together with QoS Max delay. Match units and account for a shared budget.
- Compare the latency breakdown. Disk, network processing, cluster, antivirus or cloud delay suggests different follow-up evidence; multiple contributors can coexist. The ONTAP Network column is not a direct measurement of client-to-server WAN round-trip time.
- If demand and throttling evidence agree, evaluate spare system capacity and neighboring workloads. Test a scoped approved policy adjustment, preserve the original settings and compare before/after results for both the target and its neighbors.
qos policy-group show
qos statistics performance show
qos statistics volume latency show -vserver svm_prod -volume vol_projectsDo not remove all limits simply because a user reports slowness.
07How do you obtain share-level evidence without misreading volume counters?
Use share-filtered sessions and open files to establish which clients and files belong to the complaint. Those commands show identity and activity, not a per-share latency benchmark. A volume-level QoS measurement aggregates relevant volume work and must not be relabeled as one share’s exclusive IOPS.
Discover the SMB statistics objects, instances and counters available on your release before collecting a timed sample. Use supported share-level instrumentation if exposed, otherwise correlate client-side SMB measurements, session/file identity and volume metrics during a controlled operation. Client ranking can help identify heavy clients, but a client may use multiple shares. Do not invent a universal cifs_share latency counter.
vserver cifs session show -vserver svm_prod -share-names Projects -instance
vserver cifs session file show -vserver svm_prod -share Projects
statistics top client showLabel every metric by its actual client/share/volume/node scope.
08What if storage latency is low but a remote share is still slow?
Investigate end-to-end latency and the workload pattern. A large sequential transfer and thousands of small file opens behave differently across a WAN. Low storage service time does not eliminate repeated network round trips, DNS/DFS delays, client disk/CPU limits or application serialization.
Review negotiated SMB dialect, signing/encryption status and multichannel capability using approved client diagnostics and the server session record. Check loss/retransmissions, route, interface errors and bandwidth with the network team. Preserve required security controls; do not disable signing, encryption or antivirus as an unreviewed speed fix. Compare local and remote clients with the same representative operation.
Show evidence that locates the delay rather than declaring either network or storage innocent from one counter.
09Scenario: one share is slow while another on the same volume is fast
The shared volume makes a simple “the whole volume is slow” explanation less convincing, but it is not proof the storage path is healthy for every operation. Compare users, file sizes, directory depth, ACL evaluation, application locking, access pattern, Vscan file-operation profile and FPolicy scope. Also check whether namespace junctions place the two paths on different underlying volumes.
Collect share-specific sessions/open files, then reproduce the exact slow operation. Large antivirus scan delays or external FPolicy response delays require the relevant service logs and time alignment. A fast large-file copy on Archive does not prove that Projects can list a directory containing millions of entries quickly. Correct the identified dependency and repeat the original test.
10Scenario: backup activity coincides with application slowness
Illustrative case: two workloads share a 5,000 IOPS policy. Together their observed rate stays near that budget and the affected workload develops QoS Max delay during the backup. This supports a shared-ceiling hypothesis; it does not yet prove that the backend can safely sustain a higher combined rate.
Inspect membership and the backup schedule, compare a no-backup interval, and assess CPU/storage/network headroom. Potential approved remedies include rescheduling, a separate policy or revised limits on appropriately isolated objects. Changing a shared group affects every member. Acceptance requires improved application latency and no unacceptable regression for the backup or neighboring workloads.
11What is FlexCache, and when is it useful?
FlexCache is an ONTAP volume caching capability that serves a dataset through a cache volume linked to an origin. It can bring repeatedly accessed data closer to users and offload read demand. It is not necessarily a complete local copy: uncached data may need to be fetched from the origin.
A branch office repeatedly reading the same design files is a candidate. First access may incur origin/WAN work; subsequent representative reads can benefit when the working set remains cached. Unique one-time reads, undersized caches, frequent invalidations or a slow client can limit improvement. Validate supported origin/cache combinations, protocols and releases before proposing it.
FlexCache is not an independent backup or a replacement for SnapMirror DR. Design backup, recovery, origin availability and cache dependencies separately. A warm cache must not be treated as proof that all files remain available during an origin or network outage.
12How are FlexCache write-around and write-back different?
In write-around mode, writes arriving at the cache are sent to the origin for durable commit before the client is acknowledged. The cache is therefore not simply read-only, but writes retain the origin-network dependency.
The documented FlexCache write-back implementation introduced in ONTAP 9.15.1 can commit a write to stable storage at the cache and acknowledge the client before asynchronously flushing data to the origin. This changes the write path and failure/recovery considerations; it is not a toggle to enable blindly on all remote shares.
Check exact origin/cache releases, patches, supported protocol/features, capacity and network prerequisites. Do not confuse the earlier preview implementation with the 9.15.1 implementation. A mode change requires a qualified procedure and an understood recovery plan.
| Question | Write-around | Write-back |
|---|---|---|
| Where is a cache-client write committed before acknowledgement? | Origin | Stable storage at cache |
| Why might WAN latency matter? | Write acknowledgement depends on origin path | Origin flush occurs asynchronously; other dependencies remain |
| What should an interview answer include? | Origin dependency and workload fit | Release support, consistency, flush and failure behavior |
13How would you troubleshoot a slow FlexCache workload?
- Confirm that the client actually accesses the cache namespace and not the origin or an unexpected DFS target. Record cache, origin, SVMs, client site, protocol and read/write mode.
- Check peer connectivity, volume online state, capacity and origin/cache health using the commands available for the running release. Inspect both sites over the same time interval.
- Compare the first and repeated reads of a safe representative dataset. Discover supported FlexCache hit/miss and fetch-related counters for that release; do not clear caches or use a single tiny cached file as proof of production improvement.
- For misses, investigate origin latency and WAN throughput/loss. For repeated hits that remain slow, examine cache-side resources and client behavior. For writes, first establish write-around versus write-back and then inspect that mode’s dependencies.
- Assess working-set size, cache pressure, concurrent writers, invalidation patterns and any applicable locking/security dependency. Change one diagnosed cause, then validate representative first-read, repeated-read and write operations.
volume flexcache show
volume show -vserver svm_cache -volume cache_projects -instance
cluster peer show
vserver peer showA cache is helping only if representative client results improve with acceptable origin and cache health.
14Scenario: the first remote read is slow and the second is fast
A plausible explanation is a cold-cache miss followed by a cache hit. Confirm the client path, operation timestamps and supported cache/fetch counters before accepting that explanation. Client or application caching can also make the second attempt faster without an ONTAP cache hit.
Repeat with an approved dataset large enough to resemble the workload and distinguish client caching from server caching. Document cold and warm results separately. Consider a supported prepopulation approach only after verifying dataset fit, origin load and network impact; do not promise all remote reads will become LAN-speed.
15What should the final performance RCA and postcheck contain?
- List the exact share, volume, clients, policy and/or cache-origin pair; include release, timestamps and metric units. Separate observations from hypotheses.
- Show the causal evidence: workload at a ceiling with QoS Max delay, a specific client/network bottleneck, or cache misses coupled with origin fetch delay. Include a comparison interval.
- Document the approved change, prior settings and rollback trigger. Preserve client identity and the same representative operation for the retest.
- Report before/after application completion time plus scoped storage metrics; validate permissions, normal client I/O, neighboring workloads and protection health. Record unresolved limitations and escalation evidence.
Close on demonstrated service recovery, not just successful command execution.
16Worked case: prove a shared ceiling before changing it
Fictional investigation. At 10:05, Projects users report that opening a drawing takes several seconds. The affected UNC path resolves to vol_projects; a backup workload on a different volume shares the same 5,000 IOPS policy. The operator collects simultaneous samples for both workloads and measures repeated opens of a representative drawing from the same client.
| Window | Combined IOPS | Projects QoS Max delay | Median client open time |
|---|---|---|---|
| Before backup | 1,850 | 0.1 ms | 0.8 s |
| During backup | 4,980 | 18 ms | 4.2 s |
| After backup moved outside working hours | 1,920 | 0.1 ms | 0.9 s |
- Verify the two workloads are members of the same shared policy. Compare total demand with the policy budget, rather than comparing Projects IOPS alone.
- Check whether Disk or Cluster delay also rose. In this example they did not, so raising the ceiling would be a less targeted first change than separating the schedules.
- Agree on a new backup window with the backup owner. Keep the original schedule as the rollback and check that the new window still meets the protection objective.
- Repeat the same open operation with the same client and file type, then confirm the rescheduled backup completes.
Projects response time returns near baseline, and the backup still completes within its agreed window. The numbers are teaching examples, not customer measurements.
Use the section links to revisit a step, or follow a related guide below.
Official references and further reading
Choose the matching release in the vendor documentation before using a command or design. References open on the publisher’s website; linked material remains with its publisher.