My serveur Dynatrace, is called by many IIS servers. I used .NET SDK.
When i have a high level of request per second. With my APM, I remarks slowdown on IIS the method PerformMultiGet.
For exemple i have a request take 24 second, with 22 second taken by WaitMultiple.
The call stack is :
Enyim.Caching.MemcachedClient.PerformMultiGet
Enyim.Caching.MemcachedClient.SafeWaitAllAndDispose
System.Threading.WaitHandle.WaitAll
System.Threading.WaitHandle.WaitMultiple
It seems coming from high level of usage because it didn’t occured when i have less visit.
To verify that it hasn’t already been addressed in a later version, would you be able to install the latest 1.3.X version of the SDK (1.3.10) and see if your still running into the problem?
Thank you for your reply. I check with the lastest SDK version 1.3.10 in a loadtest context. I have got the same behaviour.
I thought that it’s coming from the agregation time datas from differents nodes when i try to “bulk get”. If one node is slow, all the operation PerformMultiGet is slow
This slowdown may coming from other bottleneck (connection …). In my subject, when it occured, i can see an increase of number connection :
f one node is slow, all the operation PerformMultiGet is slow
That kind of make sense; total time is the worst time plus the rest. You may get better performance by skipping the bulk methods in this case and using TPL if it will work for you. Checkout this post for example: Couchbase performance (misconfiguration or something else?)
This slowdown may coming from other bottleneck (connection …). In my
subject, when it occured, i can see an increase of number connection
That is a big increase in connections. The client does have a connection pool that will grow to a max size, but that seems excessive.