[terracotta-OSS] Estimated Network Hit Time from 1 client node to terracotta server 1 node ??

28 views
Skip to first unread message

Danish Gondal

unread,
Jan 20, 2021, 9:28:58 AM1/20/21
to terracotta-oss
Hi All ,

I am implementing the 1 ehcache with terracotta  Open source server with 4 client nodes and 1 terracotta server node.

Please suggest how much ideal time in millisecond a client node takes when communicating with one ehcache terracotta server node in Open source version.

Actually I need to get an idea following are my questions

  1. How much concurrent hits a free ware  terracotta server node can handle gracefully ???
  2. In Open source  Ehcache terracotta  version, cache server will sync the all clients' nodes' JVM /OFF heap caches .if yes how much time it will takes ?
  3.   In Open source  Ehcache terracotta  version, if any client node update the JVM cache then either it will be synced on all the clients nodes' JVM/OFFheap caches ?? 

Please suggest 

It would be very helpful for me

BK BK

unread,
Jun 14, 2021, 12:07:48 PM6/14/21
to terracotta-oss
From my experience with Ehcache 2.10.6 + Open Source Terracotta 4.3.6:

1) how much ideal time in millisecond a client node takes when communicating with one ehcache terracotta server node
You can configure this yourself in tc-config.xml. For example, using <tc-properties /> or <client-reconnect-window />
<tc:tc-config>
<tc-properties>
<!-- The optional <tc-properties> block contains tuning properties for the Terracotta cluster. This block is inserted at the beginning of the Terracotta configuration file. The properties defined here override default tc.properties but they are overridden by those found in a local tc.properties file and by those defined using system properties. The order of precedence, beginning with the source having least precedence, is: 1. Default tc.properties file located in tc.jar 2. <tc-properties> block in the Terracotta configuration file 3. Local tc.properties file 4. Properties defined using Java system properties ? -->
<!-- Terracotta-Server and Client-JVMs correspondences -->
<!-- L2 - L1 (L2 Terracotta Server, L1 Client) -->
<!-- According to the HealthChecker "Max Time" formula, the maximum time -->
<!-- before the Terracotta server considers a remote node to be lost is computed in the following way: -->
<!-- Max Time = (ping.idletime) + socketConnectCount * [(ping.interval * ping.probes) + (socketConnectTimeout * ping.interval)] -->
<!-- 10000 + 10[ (3 * 1000) + (5 * 1000) ] = 10000 + 80000 = 90000 ms -->
<!-- Terracotta server keeping tabs on client i.e. apache/tomcat shibboleth -->
<!-- The health checker declares the client dead in 90 seconds -->
<property value="true" name="l2.healthcheck.l1.ping.enabled"/>
<property value="10000" name="l2.healthcheck.l1.ping.idletime"/>
<property value="1000" name="l2.healthcheck.l1.ping.interval"/>
<property value="3" name="l2.healthcheck.l1.ping.probes"/>
<property value="true" name="l2.healthcheck.l1.socketConnect"/>
<property value="5" name="l2.healthcheck.l1.socketConnectTimeout"/>
<property value="10" name="l2.healthcheck.l1.socketConnectCount"/>
<property value="true" name="l2.l1reconnect.enabled"/>
<property value="120000" name="l2.l1reconnect.timeout.millis"/>
</tc-properties>
</tc:tc-config>

<servers>
<!-- How much time (in seconds) should the server, upon restart, allow for previously connected clients to reconnect? After this period, clients will not be allowed to reconnect. Default: 120 seconds -->
<client-reconnect-window>120</client-reconnect-window>
</servers>

2) How much concurrent hits a free ware  terracotta server node can handle gracefully ???
Several thousand (that was what we needed, so we didn't push further)


3) In Open source  Ehcache terracotta  version, cache server will sync the all clients' nodes' JVM /OFF heap caches .if yes how much time it will takes ?
4) In Open source  Ehcache terracotta  version, if any client node update the JVM cache then either it will be synced on all the clients nodes' JVM/OFFheap caches ?? 

If you want nodes to share cached data, then you should configure ehcache.xml for "clustering" and "distributed persistence". Then set the appropriate timeouts.

<cache>
<persistence strategy="distributed"/>
<terracotta clustered="true">
<nonstop  enabled="true" timeoutMillis="10000" />
</terracotta>
</cache>



Reply all
Reply to author
Forward
0 new messages