we got some complaints about the speed of the ping sweep in the past. Especially when pinging large networks which are only sparsely populated.
But first some background on the current implementation. We are using Windows API calls for the ping. The API call accepts up to 64 IP addresses to ping at a time. Therefore we traditionally ping in chunks of 64 IP addresses. While having a timeout values of 2 seconds and 2 retries, the ping for the 64 addresses usually takes 6 seconds. That is 640 IP addresses per minute and 38.400 IP addresses per hour.
Some customers configure class B (65.535 addresses) or even class A networks (~16 million addresses). Of course that takes some time when we’re getting 38.400 IP addresses processed per hour.
In order to improve the speed, we have implemented a parallel ping. The parallel ping processes IP addresses in chunks of 64 addresses in parallel. You can configure up to 16 concurrent threads to ping. With that, you can get a speed up to 16 times faster than before. That would be up to 614.400 IP addresses per hour compared to 38.400.
Configure the number of concurrent ping threads with a new option within the General settings within the configuration dialog:
Figure: Ping IP addresses with multiple threads in parallel
We hope that you will notice the difference and enjoy the new setting.
This change comes with build 4063.