perl-AsyncPing - ping a huge number of servers in several seconds

Property Value
Distribution ALT Linux Sisyphus
Repository Autoimports noarch
Package name perl-AsyncPing
Package version 2016.1207
Package release alt1
Package architecture noarch
Package type rpm
Installed size 11.92 KB
Download size 11.92 KB
Official Mirror
First of all, I tried some of the Async Ping modules on cpan, none of them really worked when I tried to ping 10,000 servers.
This AsyncPing is designed to ping a huge number of servers. As I tested, it can send out ICMP request to 25,000 servers per second on a very common server.
Also I tested if I fork a seperate process handling the recieving work, it can be improved to about 45,000 ping per second.
The timeout value start to work after this module sends out all the requests.
The retry will only work on the failed ones.
Please notice that ICMP is not TCP connection, there is no guarantee that if you send a request to a server, you'll get a response. So you may want to set the try to 2.
So if you have a million servers to ping(10% of them are down) and you set the timeout to 3 and retry to 2, I can estimate the time to be about (1M/25k+3)+(100k/25k+3)=50 seconds.
Please also notice that since ICMP can only be sent by root, if you want to use this library, you'll have to run your program as root.
If the ping requests are going through firewall, your ping requests could possibly be discarded by firewall, don't blame the library.
since every process share same network interface and usually there is only 1 network interface on a server, I think it doens't really help if you make it parallel
or multi-threaded to increase speed. Just like you don't get much benefit if you make more threads while you have only 1 CPU. But you can test on your own, good luck!


Package Version Architecture Repository
perl-AsyncPing - - -


Name Value
/usr/share/perl5 -
perl(IO/ -
rpmlib(PayloadIsLzma) -


Name Value
perl( = 2016.120.700
perl-AsyncPing = 2016.1207-alt1


Type URL
Binary Package perl-AsyncPing-2016.1207-alt1.noarch.rpm
Source Package perl-AsyncPing-2016.1207-alt1.src.rpm

Install Howto

  1. Add the following line to /etc/apt/sources.list:
    rpm [Sisyphus] noarch autoimports
    rpm [Sisyphus] noarch autoimports
  2. Update the package index:
    # sudo apt-get update
  3. Install perl-AsyncPing rpm package:
    # sudo apt-get install perl-AsyncPing



See Also

Package Description
perl-Asynchat-0.01-alt1.noarch.rpm Builds on Asyncore, makes easier to handle client and server asynchronous communication
perl-Asyncore-0.08-alt1.noarch.rpm Basic infrastructure for writing asynchronous socket service
perl-AtExit-2.03-alt1.noarch.rpm perform exit processing for a program or object
perl-Atheme-0.0001-alt1.noarch.rpm Perl interface to Atheme's XML-RPC methods
perl-Atom-JavaScript-0.5-alt1.noarch.rpm Atom syndication with JavaScript
perl-AtomBus-1.0405-alt1.noarch.rpm An AtomPub server for messaging
perl-AtomicParsley-Command-1.153400-alt1.noarch.rpm Interface to the Atomic Parsley command
perl-Atompub-0.3.7-alt1.noarch.rpm Atom Publishing Protocol implementation
perl-Attach-Stuff-0.93200645424259-alt1.noarch.rpm perl module Attach-Stuff
perl-Attempt-1.01-alt1.noarch.rpm perl module Attempt
perl-Atto-0.004-alt1.noarch.rpm A tiny microservice builder
perl-Attribute-Args-0.06-alt1.noarch.rpm check subroutine param types
perl-Attribute-Benchmark-0.001-alt1.noarch.rpm dead easy benchmarking
perl-Attribute-Boolean-1.0.8-alt1.noarch.rpm Mark scalars as pure booleans
perl-Attribute-Cached-0.02-alt1.noarch.rpm easily cache subroutines results using a :Cached attribute