[OSM-dev] Mapnik's speed rendering slow ?

Jon Burgess jburgess777 at googlemail.com
Mon Nov 10 12:17:32 GMT 2008


2008/11/8 sylvain letuffe <liste at letuffe.org>:
>> 0.5s per tile looks about right. The main tile server does not manage
>> to render all z18 tiles in 24 hours.
> Glups then...
>
> (...)
>> http://wiki.openstreetmap.org/index.php/Mod_tile
>
> Thanks all for the link, I already had a look at mod_tile and I first thought
> it wouldn't fit my needs and then be a second choice.
>
> I'm willing to (did I say dreaming ?)
> 1) have a max older tile of 24h
> 2) don't kill my server under load
> 3) have a fast responsive Openlayer (which I have with all tiles generated)
>
> mod_tile seams to me not beeing able to cover 3 (unless someone got the pain
> to explore the same place before you, or unless we drop under ~0.02s per
> tiles, in wich case I'll stop bothering with caching tiles and have them
> rendered real-time )

That is almost exactly the performance number it hits. Typically it
takes about 1 seconds to render 1 meta-tile. Each meta-tile is 8x8
normal map tiles. That gives 1/64th of a second per tile.

>
> 2->, as of the readme, is not completly sure, unless some users are kicked
> off. because If simultaneously, 20 users are exploring a "new" region
> somewhere in mountain, the 0.5s/tile will soon transforms into much higher,
> transforming mapnik into unusable
>
> Sounds like a corner case right ?

Only if the area has never been rendered. If the rendering time
exceeds a pre-defined limit then it will instead return the previous
tiles in that area.

> So, staying for now with my idea, is there some mecanism implemented (or to be
> implemented) in mapnik to :
> - When a tile is empty, not try to generate it (use a defined png model
> instead), and not try to generate any other tiles included in zoom greater
> than it

Rendering empty tiles is very fast, take little space on the disk and
people tend not to look at them. I personally don't see much benefit
in optimising for this case.

> - On each postgres "osm data update" ( with some kind of last-modified flag ?)
> use them to render only last modified zones, wich, to my point of vew seams
> to be much less numerous that vews
> ?

That is much better idea.

-- 
    Jon




More information about the dev mailing list