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.

closed as too broad by PolyGeo Apr 2 '17 at 3:49

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    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

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.

  • 1
    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

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