Ignite client - slow startup

classic Classic list List threaded Threaded
2 messages Options
Dieter Guthardt Dieter Guthardt
Reply | Threaded
Open this post in threaded view
|

Ignite client - slow startup

Hi,

we're currently running a couple of servers with various Ignite
scenarios - version 2.6 and 2.7.
With and without persistence and some only get used to perform server
based computations without any cache.
It's quite satisfying except the startup time of the client applications
is pretty slow especially running them from 'remote'.

I realized depending on the cluster configuration the topology send
around when connecting can get huge.
Even the clusters without caches get really big and it's time consuming
to connect.

That's all related to the snapshot version, so higher the number so
bigger the amount of data transferred and slower the connection.
The client instance of Ignite gets bigger and bigger depending on the
cluster, cache and snapshot history.

Since I haven't found a satisfying answer yet I started digging into
your code and found the following:

In the class TcpDiscoverySpi you set the default history size of the
discoCache to be 1000!
After reducing the number to 10 I obtained a decent startup time.

Debugging the ignite client instance now shows a constant size after
reaching a snapshot version > 10.

I was wondering why the history was set to 1000? How does a small number
affect the cluster?

Br,

Will

ilya.kasnacheev ilya.kasnacheev
Reply | Threaded
Open this post in threaded view
|

Re: Ignite client - slow startup

Hello!


It's not on any release yet, so decreasing history size looks like a decent solution for now. You can do that with system property
IGNITE_EXCHANGE_HISTORY_SIZE

Regards,
--
Ilya Kasnacheev


пт, 14 июн. 2019 г. в 16:49, Dieter Guthardt <[hidden email]>:
Hi,

we're currently running a couple of servers with various Ignite
scenarios - version 2.6 and 2.7.
With and without persistence and some only get used to perform server
based computations without any cache.
It's quite satisfying except the startup time of the client applications
is pretty slow especially running them from 'remote'.

I realized depending on the cluster configuration the topology send
around when connecting can get huge.
Even the clusters without caches get really big and it's time consuming
to connect.

That's all related to the snapshot version, so higher the number so
bigger the amount of data transferred and slower the connection.
The client instance of Ignite gets bigger and bigger depending on the
cluster, cache and snapshot history.

Since I haven't found a satisfying answer yet I started digging into
your code and found the following:

In the class TcpDiscoverySpi you set the default history size of the
discoCache to be 1000!
After reducing the number to 10 I obtained a decent startup time.

Debugging the ignite client instance now shows a constant size after
reaching a snapshot version > 10.

I was wondering why the history was set to 1000? How does a small number
affect the cluster?

Br,

Will