Slow with PerformMultiGet


#1

Hello,

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.

Thanks you


#2

@Crafty33

What version of the .NET Client are you using? What Couchbase Server version?

-Jeff


#3

Hi,

My couchbase server version is : 2.2.0 community edition (build-837).
And i use the .Net Client 1.3.4.0

Thank you for your help

Ludovic


#5

You can see the callstack in this screenshot. The bootleneck is on WaitMultiple.

Ludovic


#6

@Crafty33 -

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?

Thanks!

-Jeff


#7

Hi,

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 :

Otherwise, the curve is flate.

Thanks you.
Ludovic


#8

@Crafty33

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.

-Jeff


#9

Why do you find it excessive ?
Has it some configuration tuning for connection pool ?

Thank you
Ludovic