The NetApp Community is moving to a new platform and is in Read-Only mode. Click to learn more.
Stay connected during the transition - Join our Discord community today.

PowerShell Discussions

PowerShell Slow to Connect

MattBaldwin
59 Views

When connecting (Connect-NcController) my ontap arrays, it can take around 40 seconds to connect to our main one.  When I connect to my others ones, it takes around 3-5 seconds.

I get no errors, so I am not sure why this is. Is it simply because our main array is busy and API connections have a lower priority?

 

I am running PowerShell 7.6.3 with NetApp.ONTAP module version 9.18.1.26.

4 REPLIES 4

mbeattie
46 Views

Hey Matt,

 

Is there a difference in ONTAP versions between the cluster with connection latency compare to the one that connects quicker? Is the ONTAP version >= 9.6 and are you using the -ZapiCall with Connect-NcController? Is there much difference in Network TTL or bandwidth between them? Are DNS forward and reverse lookups configured for both clusters? Assuming there aren't any issues with the above I would start by enabling debug logging on the PSTK from an elevate PowerShell prompt (running as admin):

 

C:\PS>Set-NaToolkitConfiguration -DebugLevel DEBUG

 

Use that to log the API calls and see if there are any differences between creating the connections to your clusters.

 

/Matt

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Thanks for replying to me.

The ONTAP versions are the same across the multiple arrays I looked at.  They are running 9.17.1P2, but this has been going on since I started using powershell to manage some tasks a couple years ago.

For my connection, I am just using 

Connect-NcController -Name $ClusterIP -Credential $Global:pullcredential
 
Some of these arrays are in the same datacenter and same subnet, so no bandwidth issue. In fact, our datacenter down south is faster than my local one for powershell queries...
 
I'll review DNS and try that debuglevel now.

So much text scrolls by and my buffer isn't able to capture it all. I've tried redirecting to a file as well as starting transcript, but the api output isn't getting captured...

It loops through this many many times while my other arrays do not.

 

// File generated by the Data ONTAP PowerShell Toolkit
powershell.usagelog.version=1
powershell.usagelog.lastupdated=1781263738
powershell.cmdlet.CONNECTNCCONTROLLER.count=4374
powershell.usagelog.timestamp=1781287407
powershell.cmdlet.GETNCCLUSTER.count=1560
powershell.cmdlet.GETNCSYSTEMVERSIONINFO.count=2215
powershell.cmdlet.GETNCSNAPSHOTPOLICY.count=464
powershell.cmdlet.NEWNCVOL.count=463
powershell.cmdlet.SETNCVOLAUTOSIZE.count=190
powershell.cmdlet.SETNCSNAPSHOTRESERVE.count=1
powershell.cmdlet.NEWNCSNAPMIRROR.count=461
powershell.cmdlet.GETNCVOL.count=5770
powershell.cmdlet.UPDATENCVOL.count=70
powershell.cmdlet.GETNCCLUSTERPEER.count=2968
powershell.cmdlet.NEWNCVSERVERPEER.count=1129
powershell.cmdlet.GETNCVSERVERPEER.count=2203
powershell.cmdlet.INVOKENCSNAPMIRRORINITIALIZE.count=461
powershell.cmdlet.GETNCSNAPMIRROR.count=3750
powershell.cmdlet.GETNCCLUSTERPEERPOLICY.count=1361
powershell.cmdlet.NEWNCQTREE.count=54
powershell.cmdlet.ADDNCCIFSSHARE.count=33
powershell.cmdlet.GETNCCIFSSHARE.count=338
powershell.cmdlet.ADDNCCIFSSHAREACL.count=85
powershell.cmdlet.CONFIRMNCVSERVERPEER.count=2
powershell.cmdlet.GETNCSYSTEMVERSION.count=65
powershell.cmdlet.GETNCVOLLANGUAGE.count=86
powershell.cmdlet.STARTNCVOLMOVE.count=2
powershell.cmdlet.GETNCVOLMOVE.count=2
powershell.cmdlet.GETNCJOB.count=4
powershell.cmdlet.NEWNCEXPORTPOLICY.count=1
powershell.cmdlet.GETNCEXPORTPOLICY.count=9
powershell.cmdlet.NEWNCEXPORTRULE.count=1
powershell.cmdlet.GETNCVSERVER.count=43
powershell.cmdlet.GETNCCIFSSERVER.count=29
powershell.cmdlet.GETNCNETINTERFACE.count=33
powershell.cmdlet.GETNCQUOTAREPORT.count=3284
powershell.cmdlet.GETNCQTREE.count=2164
powershell.cmdlet.GETNCQUOTA.count=88
powershell.cmdlet.SETNCQUOTA.count=1525
powershell.cmdlet.GETNCSNAPSHOT.count=702
powershell.cmdlet.GETNCQTREEMETRICS.count=2
powershell.cmdlet.GETNCFILEDIRECTORYSECURITY.count=1
powershell.cmdlet.ADDNCQUOTA.count=31
powershell.cmdlet.SETNCCIFSSHARE.count=43
powershell.cmdlet.REMOVENCCIFSSHAREACL.count=31
powershell.cmdlet.GETNCVOLLIMIT.count=3
powershell.cmdlet.GETNCVOLSPACE.count=5
powershell.cmdlet.GETNCVOLSIZE.count=3
powershell.cmdlet.GETNCEXPORTRULE.count=6
powershell.cmdlet.GETNCEMSDESTINATION.count=1
powershell.cmdlet.GETNCUSER.count=2
powershell.cmdlet.GETNCCLUSTERNODE.count=2
powershell.cmdlet.GETNCNTPSERVER.count=1
powershell.cmdlet.GETNCEMSEVENTNOTIFICATION.count=1
powershell.cmdlet.GETNCEMSEVENTNOTIFICATIONDESTINATION.count=2
powershell.cmdlet.GETNCEMSCONFIG.count=1
powershell.cmdlet.GETNCSNMP.count=1
powershell.cmdlet.GETNCSNMPCOMMUNITY.count=1
powershell.cmdlet.GETNCVSERVERLOGINBANNER.count=1
powershell.cmdlet.GETNCSECURITYSSH.count=2
powershell.cmdlet.GETNCSECURITYPROTOCOLSSH.count=1
powershell.cmdlet.GETNCSECURITYSESSIONLIMIT.count=1
powershell.cmdlet.GETNCNETPORT.count=4
powershell.cmdlet.GETNCSECURITYKEYMANAGERONBOARDBACKUP.count=1

Public