I've got a large amount of clients (around 4000). Each client pings my server every 2 seconds. Can these ping demands put a lot around the server and slow it lower?
How do i monitor this load? The server response gradually however the processor is nearly idle and also the free memory is alright. I am running Apache on Ubuntu.
Presuming you mean a UDP/ICMP ping just to ascertain if the host is alive, 4000 hosts most likely is not much load and it is simple enough to calculate. CPU and memory smart, ping is handled by you are kernel, and really should be enhanced not to take much assets. So, you have to take a look at network assets. Probably the most critical point is going to be for those who have one half-duplex link, because all you are hosts are chatty, you'll cause a lot of collisions and retransmissions (and dropped pings). When the links are full duplex, let us calculate the particular quantity of bandwidth needed in the server.
- 4000 client @2 seconds
- Each ping is 72 bytes around the wire (32 bytes data + 8 bytes ICMP header + 20 bytes IP header + 14 bytes Ethernet). * You may have some additional overhead if you are using vlan marking, or UDP based pings
- When we can assume the pings are at random distributed, we'd have 2000 pings per second @ 72 bytes = 144000 bytes
- Multiple by 8 to obtain Bps = 1,152,000 bps or about 1.1Mbps.
- On the 100Mbps Lan, this is about 1.1% utilization only for the pings.
If this sounds like a lan atmosphere, I'd say this really is essentially no load whatsoever, whether it's going across a T1 then it is an enormous quantity of load. Which means you should essentially run exactly the same calculation which network links can also be a bottle neck.
Lastly, if you are not using ICMP pings to determine the host, but come with an application level ping, you'll have all of the overhead of the items protocol you're using, and also the ping require completely in the protocol stack, and you are application must respond. Again, this may be an extremely minimal load, or it may be immense, with respect to the implementation particulars and also the network speed. When the host is idle, I doubt this can be a problem for you personally.
Another problem aside from bandwidth may be the CPU. If your ping is directed as much as the CPU for processing, 1000's of those may cause a lot on any CPU. It's worth monitoring - but while you stated yours is nearly idle therefore it is most likely likely to have the ability to cope. Worth bearing in mind though.
With respect to the clients, ping packets could be different dimensions - their payload might be just "aaaaaaaaa" however, many might be "thequickbrownfoxjumpedoverthelazydog" - that is clearly further bandwidth needs again.