Suppose I have a LAN with 20 devices attached (eg switches, router, access points, XBOX, DirecTV, IP Cameras, etc). I want to ping each devices periodically to see if all devices are alive. My ping process uses some worker threads (say 8 threads) to send 8 pings at a time until all 20 devices have been pinged. I know I can send these once a minute without causing any network load issues. But I'm wondering how quickly I can send pings before I start to see network load issues. For example, suppose I wanted to send pings once every 10 seconds, or once every 5 seconds. Does anyone have any rules of thumb to determine how frequently I can ping a typical LAN of 20 devices before I start to cause network load problems?
I think the question comes round to the number of packets per second you can send through your network. Generally this figure would be quite high.
A typical ping packet is about 64 bytes, so quite tiny. If all the devices are on the same lan, you should be able to get up to multiple pings per second without any issues - even most routers should handle that (but routers are where bottlenecks start occuring as the packets need to be inspected and this takes CPU).
You might want to get a version of MTR and crank up the number of pings it sends to a destination to see what kind of performance you get and where you start getting packet loss. (On Linux there is a value --interval which can be set in fractions of a second to send multiple packets per second - if you are root). For fun, I decided to send 1000 packets per second, and received 0% packet loss, and no noticeable jump in latency between directly connected gigabit devices. MTR would not go fast enough.
If you were to send pings across your lan to all devices once per second it would put a load of about 64 * 20 across it = 640 bytes per second = 5120 bits per second (approx), which is almost in the margin of error for even a 10 megabit switch - so practically, unless you really push stuff real hard, you can't cause network issues on your lan using PING with regular size packets.
By default Windows