[OSM-dev] API id placeholders

Joerg Ostertag (OSM Munich/Germany) openstreetmap at ostertag.name
Sun May 6 10:58:12 BST 2007


> ... I get many changes to upload to
> the server.  As far as I understand, each little change must go in
> a separate HTTP call, 


> each taking at least the ping roundtrip time.  

Even though you probably mean a complete tcp-3-way-handshake.

> For a few thousand changes, this takes several minutes. 

Depending ...

Well; if you have a client which is talking HTTP/1.1 with persistent 
connection you can put more than one http request into one tcp connection. 
This way it does not take one 3-way-tcp-hand-handshake per node/segment/way.
If you're looking at a normal josm installation, where josm is directly 
connected to the Internet, has no proxy in between, your assumption of having 
one tcp connection for each request is probably right. That's what my tests 
which i did 1 year ago gave me as a result. 
But .... 
If you put a local caching Server on your machine in between josm and the 
OSM-Server this sometimes speeds up stuff by a factor of 10. This is because 
(current-version)-squid does a persistent connection to the osm-server(which 
java doesn't). Once you start talking to the osm server squid does one 
3-way_handshake ONCE and then ueses this tcp connection for all it's 
requests. So you save 3 complete handshake packets on every request to the 
server. Which would be 3 times waiting for a tcp answer comming from the 
server or client. 

These findings are from the old Version, but I don't think they have changed 
with the new Version.

Jörg (Germany, Munich)

Tel.: +49 89 420950304
Skype: JoergOstertag

More information about the dev mailing list