[OSM-dev] How to earn undying fame

Lambertus osm at na1400.info
Mon Jun 21 17:30:37 BST 2010


Hopefully I can help a bit with some numbers, I hope Nic doesn't mind.

These numbers originate from yournavigation.org which is a full 
opensource routing website using (an older version) Gosmore as routing 
backend.

The server that runs the website is a VM with two Xeon 2GHz cores and 
2GB RAM. This very limited amount of RAM makes it a bit difficult to do 
representative benchmarks (harddisk I/O is killing), so please keep that 
in mind before reading on...

Under optimal conditions where the required bit of the route database is 
already loaded into RAM, Gosmore can calculate most routes in a few 
milliseconds to about 100 ms with peaks of half a second using a single 
core. A single core should therefore be able to sustain 10 requests per 
second, but I've seen 20 requests per second too. I think that Gosmore 
will scale nicely in handling concurrent requests when given more cores, 
provided enough RAM is available.

I'm doing Gosmore database updates on a C2D P8600 (2.4 GHz) laptop with 
4GB RAM is about 8 to 10 hours, so weekly updates won't be a problem.

Database sizes:
October 2009: 7 GB America's, 4.9 GB Europe, Asia, Africa, Oceania
May 2010: America's estimated: 10 GB, 9.9 GB Europe, Asia, Africa, Oceania

The database not only contains the road network but also almost all 
other items in the OSM database (administrative, landuse, poi, houses 
etc). These could all be left out, but I don't have the figures.

My own reservation towards this plan is that (older versions at least) 
Gosmore doesn't handle very long routes well but, again, this might be a 
result of the low amount of ram in my server. And I don't know if newer 
Gosmore versions handle long routes better...Nic?

Would it be a good idea to setup a test on the OSM dev server? This 
server already has a lot of RAM and should behave much closer to a real 
world server. I can provide a request trace log from yournavigation.org 
that covers e.g. a whole week (which would be up to 20.000 requests) and 
run it through a script against Gosmore. That should provide a 
real-world test and gives you an idea of what to expect.





More information about the dev mailing list