Re: PoCo::Client::Ping intermittently fails to emit pings

Rocco Caputo <[email protected]>
Newsgroups gmane.comp.lang.perl.poe
Message-ID <[email protected]>
On Apr 15, 2009, at 07:59, Stuart Kendrick wrote:

> my favorite pinging application (in-house app, uses  
> POE::Component::Client::Ping) intermittently reports a rash of  
> missed replies. happens roughly the same time each night; the  
> condition lasts for several minutes

Time-based failures implicate periodic jobs.  What's cron doing around  
that time?

> Details:
> -  perl-5.10.0, POE 1.0.4, POE::Component::Client::Ping 1.14
>
> -  CentOS 5.3 (2.6.18-128.el5 x86_64 x86_64 x86_64 GNU/Linux)
>
> -  the application is pinging ~120 hosts every 30 seconds

Does the application ping them all in a burst?  This could cause lost  
packets.  As I mentioned, ICMP isn't reliable, and congestion on the  
network or interface could cause silent packet drops.

> -  the box gets busy during this time, in terms of disk I/O (average  
> latency of
>   ~100ms ... fifteen minute rolling load average spikes to ~18:   
> likely stems
>   from several disk-intensive jobs which run during this period).   
> this
>   busyness lasts for ~5 hours

Heavy load could be causing your monitor program to lag, triggering  
timeouts---possibly before the ICMP requests are sent.  Reducing the  
pinger's niceness slightly may help, but you may just be overloading  
the system.  See what the machine needs to handle the work you've  
given it.  Consider distributing the work across multiple machines.

> -  the box hosts a number of pinging applications (Nagios, a bunch  
> of in-house
>   apps), typically employing fping

Probably not an issue, unless they stream an awful lot of requests.   
Load spikes may push the pinging activity together, which could result  
in lost packets.  For example, 120 pings over 30 seconds is fine, but  
a lag spike might delay them.  The lagged ones will try to catch up in  
a burst when the lag spike ends---or when the OS says your pingers  
have been CPU starved long enough.

> -  i've been running the application for a handful of years now, a  
> handful of
>   instances, monitoring ~100 - 500 hosts per instance.  this is  
> novel behavior

Novel behavior suggests the question "What has changed?"  The variable  
could be something new and significant or something that has gradually  
approached a capacity threshold.  Some things to think about:  Has the  
number of hosts to ping increased by a lot recently or steadily over  
time?  Have the disk-intensive jobs' workload increased by a lot  
recently or steadily over time?

-- 
Rocco Caputo - [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.