I currently have apache timeout incomplete requests after 21 seconds because I don't want bad bots holding up the available connection slots, and I feel people would rather wait 21 seconds for a slot to free up than (apache timeout default of) 300 seconds.
After log research, I see entries like this:
(remote ip address) - - [17/Mar/2016:10:29:13 -0400] "-" 408 - "-" "-"
Most of the time, they come from mobile devices connected to mobile networks, and a 408 code suggests to me to increase the timeout, but I thought 21 seconds is plenty for a local mobile device to connect to a local server. By local, I mean within about 1000 km (from central ontario to central quebec). The funny thing is when I tested from various locations from California USA via webpagetest.org, the entire webpage, ads and all load on all devices in well under 21 seconds.
Am I still specifying too low of a timeout? if so? why? or is it just some networks that are trying to connect to my site are poorly configured? or is it just that some mobile devices themselves are that terrible with connecting to websites?
These lines appear between 10% and 30% of the time.