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?
Possible to have 8 thousand SSHShell connection at the same time?
-
- Posts: 22
- Joined: Tue 15 May 2012 14:01
-
- Posts: 22
- Joined: Tue 15 May 2012 14:01
Re: Possible to have 8 thousand SSHShell connection at the same time?
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?
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?
Re: Possible to have 8 thousand SSHShell connection at the same time?
To solve the problem try to increase the TScSSHClient.Timeout and TScSSHShell.Timeout properties, e.g. to 120 second.
Re: Possible to have 8 thousand SSHShell connection at the same time?
The OnAsynReceiveEvent event is raised only when TScSSHShell.NonBlocking is True.
-
- Posts: 22
- Joined: Tue 15 May 2012 14:01
Re: Possible to have 8 thousand SSHShell connection at the same time?
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?
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?
Re: Possible to have 8 thousand SSHShell connection at the same time?
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.
This property is availabled since SecureBridge version 6.4.6.