Possible to have 8 thousand SSHShell connection at the same time?

Discussion of open issues, suggestions and bugs regarding network security and data protection solution - SecureBridge
Post Reply
applespring
Posts: 22
Joined: Tue 15 May 2012 14:01

Possible to have 8 thousand SSHShell connection at the same time?

Post by applespring » Mon 28 Jul 2014 05:58

Hello

I just have a question, for constant and real-time monitoring about more than 8 thousand destination servers (all have different IP) through SSHShell connection, by which we can get the text message whenever there are alarm happening.

I have tried with SecureBridge v5.5.1/Delphi Xe2/Win7 64 professional, but it seems that for several SSH connections, this structure works fine, but if I have more than, let's say 1000 connection, then the OnAsynReceiveEvent was not fired.

Any recommendation on how to setup in this massive connection quantity case?

applespring
Posts: 22
Joined: Tue 15 May 2012 14:01

Re: Possible to have 8 thousand SSHShell connection at the same time?

Post by applespring » Wed 30 Jul 2014 03:13

As a workaround, I have set NonBlocking to False, and use a timer, each 1 minute make a loop to each SSHShell component to make a ReadString call, and if the result is not empty, then display them.

But since use the NonBlocking mode, in case of "alarm-storm" then it is not a good solution, while for reaction to these alarm is also blocking.

Is OnAsynReceiveEvent is driven by thread or not?

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Possible to have 8 thousand SSHShell connection at the same time?

Post by ViktorV » Thu 07 Aug 2014 11:23

To solve the problem try to increase the TScSSHClient.Timeout and TScSSHShell.Timeout properties, e.g. to 120 second.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Possible to have 8 thousand SSHShell connection at the same time?

Post by ViktorV » Thu 07 Aug 2014 11:26

The OnAsynReceiveEvent event is raised only when TScSSHShell.NonBlocking is True.

applespring
Posts: 22
Joined: Tue 15 May 2012 14:01

Re: Possible to have 8 thousand SSHShell connection at the same time?

Post by applespring » Fri 22 Aug 2014 04:34

while reading the source code, seems that OnAsynRecevieEvent is fired as by a timer instead of I/O event.

Am I right?

If so, then there will be 8 thousand timer be created. And I think this could be a problem root?

Is it possible that OnAsynReceiveEvent is fired by I/O instead of timer?

Dimon
Devart Team
Posts: 2910
Joined: Mon 05 Mar 2007 16:32

Re: Possible to have 8 thousand SSHShell connection at the same time?

Post by Dimon » Wed 01 Oct 2014 08:49

Set the TScSSHChannel.CallAsyncEventsInMainThread property to False for raising the OnAsyncError event in a secondary thread.
This property is availabled since SecureBridge version 6.4.6.

Post Reply