[Tilesathome] [server]
Patrick Kilian
osm at petschge.de
Sun Mar 28 10:04:04 BST 2010
Hi all,
>> "* Server load too high, unlikely we can upload after rendering, waiting 30s.."
>
> Not sure under which condition Clients would see that, but there is no
> restriction on the upload for the server, so I am not sure this error
> message is correct on the client side.
The server reports a load value between 0 and 1 via the GoNogoURL URL.
This value is multiplied by 1000 in the client. If the resulting value
is greater then 750, then the client defers the upload. The relevant
code contains the following comment:
# this should be transformed into something with dynamic waits based
upon the load returned. i.e. wait 30 seconds if the load is above 750,
but wait a couple of minutes when load above 990.
Besically the client tries to not crash the server / not make it swap. I
don't see that as a "bottleneck" but a prudent safety measure. Of course
the improvement mentioned in the comment could be implemented.
Furthermore the calculation of the load value on the server could be
checked. I seem to recall that I implemented a stochastic waiting based
on server load some time back and the commit comment for r11093 confirms
that:
introduce stochastic upload descision
if the server load is below 500 we go for sure just like we used to
for higher loads we only go with a certain probability
that should stabilize the load on the server and help again burstiness
I don't know where that code went or why it was deleted. Probably
someone didn't like waiting for the server load to do down.
But in the end we have to accept that the ~110 active clients (many of
them multicore and quite fast) can render batches of simple prio4 tiles
which are expired by my oldtile script or the oldtile checker faster
then the server can handle the upload. And no removal of code checking
for that condition is going to fix it. All we (might) get is a hung
server drowned in upload requests.
HTH,
Patrick "Petschge" Kilian
More information about the Tilesathome
mailing list