Just a small correction on my original e-mail. When I said that "connections are closed because the server considered them idle" I meant that "connections are closed because the client library considered them idle".
Best regards, Alberto On 23/7/19 14:48, Alberto Gomez wrote: > Hi, > > I have run some tests using two different clients, a Java one and a C++ > one, both with single hop enabled, maxConnections not limited (set to > -1), accessing a partitioned region, and have observed the following: > > - If the amount of operations sent to the Geode cluster is not very > high, the number of connections from the client to the servers remains > constant and reasonably low (the number appears to be (number of threads > in the client * number of servers in the Geode cluster)). > > - If the amount of operations sent to the Geode cluster is very high > then the behavior seems different between the Java and the C++ client: > > * With the Java client, the number of connections seems to be > bounded to a maximum that seems to be (number of threads in the client * > number of servers) although there is a continuous thrashing of > connections (connections closed and opened continuously). According to > my observations, the reason why connections are closed is because the > server considers them idle. > > * With the C++ client, the number of connections seems to grow > indefinitely and quite quickly. In this case, the amount of connections > closed (if any) seems very small. This is a problem because sooner or > later the client runs out of file descriptors. > > I have some questions regarding the observed behavior: > > - What fires the creation of new connections in the Java case? Is there > a limit for the number of connections opened (there seems to be one)? > > - In the Java case, what could be causing that some connections are idle > given that the amount of operations sent is very high? > > - In the C++ case, what fires the creation of new connections? > > - In the C++, is it normal that the number of connections grows > indefinitely? > > - Is there a reason for the two client APIs to behave differently (in > the Java one connections expire while in the C++ connections do not expire)? > > > Thanks in advance, > > Alberto > >