Forum Discussion
williambb_9960
Nimbostratus
Jul 28, 2009iControl Assembly Peformance
I'm just getting started on iControl using Visual Studio 2008, pretty cool but a co-worker is telling me iControl has serious performance issues when pulling large amounts of data (i.e., all vs, pools...
williambb_9960
Nimbostratus
Jul 30, 2009Joe, fantastic reply. Really appreciate the level of detail. I'm not deep enough into this to replicate your calls but you prompted me to try a couple of things. The most interesting thing I found is it's the first call to the iControl assembly that seems to cause the most latency. In these two examples (calling each of 9 LTMs once and then calling 1 LTM 9 times it's the first call that accounts for approx 75% of the total run time. This is the code and below are the results. I made sure to capture only the time making the connection to the LTM and getting failover state. I would have expected each call to consume approx the same time within a reasonable variance. Not the case... anybody got any ideas why? On the plus side, it implies that I may have some up-front latency on my first call to any LTM in my code, but things get pretty sweet from there on out.
Module Module1
Sub Main()
Dim arrLTMs() As String = {}
Dim my_ltm As New iControl.Interfaces()
Dim StartTime As Double, EndTime As Double, dblTime As Double
Dim strState As String
For Each strLTM In arrLTMs
StartTime = Timer
my_ltm.initialize(strLTM, "", "")
strState = my_ltm.SystemFailover.get_failover_state.ToString()
EndTime = Timer
dblTime = EndTime - StartTime
Console.WriteLine(strLTM & " - " & strState & " - " & dblTime)
Next
Console.ReadLine()
End Sub
End Module
All nine LTMs once
-ltm-02 - FAILOVER_STATE_ACTIVE - 1.7424533999947
-ltm-01 - FAILOVER_STATE_STANDBY - 0.0600846000015736
-ltm-03 - FAILOVER_STATE_ACTIVE - 0.040056400001049
-ltm-04 - FAILOVER_STATE_ACTIVE - 0.110155099995609
-ltm-05 - FAILOVER_STATE_STANDBY - 0.110155100002885
-ltm-01 - FAILOVER_STATE_ACTIVE - 0.0500705000013113
-ltm-02 - FAILOVER_STATE_STANDBY - 0.0500704999940353
-ltm-01 - FAILOVER_STATE_ACTIVE - 0.0901269000023603
-ltm-03 - FAILOVER_STATE_ACTIVE - 0.0500705000013113
Same LTM nine times
-ltm-02 - FAILOVER_STATE_ACTIVE - 1.6823688000004
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0300423000007868
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0300423000007868
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0300423000007868
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0300423000007868
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0300423000007868
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0200281999932486
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0200282000005245
-ltm-02 - FAILOVER_STATE_ACTIVE - 0.0200282000005245
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
