Sometimes i get SerializableDocument is slowing

query

#1

SerializableDocument json=wbucket.get(key, SerializableDocument.class);
i use this method to get SerializableDocument,but i find it is not stable,sometimes it is fast return,sometimes it returned slowly.i don’t know why this happens.My enviroment is CentOS6.5,couchbase4.0.0,sdk2.2.0.


#2

@hubo3085632 I’m afraid we need a little more info to help you diagnose. To start with, can you please quantify fast and slow with examples of the type of documents that are fast and slow?


#3

I had founded some factors after i did some tests,it is not about SerializableDocument,each kind of document which is a little big that one MTU can not hold it,needing two packages to complete get response,in the scenario will happens getting slowly. If needs more than or less than two packages to wrap up a doc,it is normal ,
In CentOS 6.5 the couchbase response’s two packages is not sending at once,it is going to send the fist package then wait until client’s ack has returned, but the client is waiting the next package at the same time,then after 200ms the client returns a ack to inform server that please sends next package. In CentOS 6.2 the couchbase response’s two packages is sending at once.
I only find this problem in CentOS 6.5 ,when couchbase run on CentOS 6.2 or CentOS 7+,it is normal.
I drew two diagram to describe what i say , the first diagram is about getting a doc when Couchbase running on CentOS 6.5. The second diagram is about getting a doc when Couchbase running on CentOS 6.2.


#4

@hubo3085632 interesting, thanks for the analysis. Looks like there is something weird going on in the TCP stack of CentOS (or the kernel version it is using)? So did you fix your issue by upgrading the OS?


#5

yes,i had upgraded the OS to CentOS 7.2 ,it’s running normally