Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking for some suggestions for a Mapnik-TileCache server. How much hardware is really necessary? The dataset I use is about 380mb in osm raw format. My actual database is a bit more than 1GB. What would you suggest?

  • QuadCore
  • 8GB Ram
  • SSD Harddrive for DB
  • Bunch of disks for Cache

What do you suggest? The server will have frequent trafic and let's say 300 - 500 people will work on that mapset.

share|improve this question
What is the use case of your rendering ? Web mapping ? will the whole extent be used or only a part ? Do you plan to pre-render and cache everything, or have dynamic cache ? – Vincent Apr 5 '12 at 8:42
up vote 5 down vote accepted

I would put the db (and mapnik) on one server and the cache on another.

The work of the database and mapnik is a tough job but you can do it anytime.

You can have the database and mapnik on a quite weak server. After you have seeded your tiles you just have to reseed when you have done someediting or there have been changes. I haven't played with TileCache, but in MapProxy you can seed just the tiles that is touching polygons that you define (which can be defined from the geometries you have edited).

Then, you put the power on the cache server. I would put the ssd-disks there. If you seed the tiles, the storage of the tiles will be an obvious bottleneck.

Then to tune the system you can play with different file systems.

If you put the two servers on virtual machines you can give the db/mapnik server enough resources during initial seeding and then put the power on the tile-server.

By putting them on different servers you will get a cleaner setup that should be easier to tune, and will give you the resources of the db to serve wfs for instance.



share|improve this answer
Rendering and serving cache use very different kind of hardware resources. Putting them on different servers is a good idea, but having a «slow» rendering server is only if you pre-render everything. – Vincent Apr 5 '12 at 8:41
@Vincent. Yes, that is the point. To trigger the rendering from changes in the data instead of by user requests. – Nicklas Avén Apr 5 '12 at 9:56

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.