[Tilecache] Permissions and TileSize

Christopher Schmidt crschmidt at metacarta.com
Fri Dec 26 13:34:15 EST 2008


On Fri, Dec 26, 2008 at 09:43:44AM -0800, Matthew Rushton wrote:
> Thanks Chris here's some more info:
> 
> From my tilecache.cfg:
> 
> [basic]
> type=MapnikLayer
> layers=basic
> mapfile=/opt/tile_server/mapnik/osm.xml
> size=64,64
> tms_type=google
> spherical_mercator=true
> metaTile=true
> 
> a request which I expect to produce the entire world but is part of a 4x4 grid:
> myserver.com/tilecache.py/1.0.0/basic/0/0/0.png

spherical_mercator=true implies maxResolution 156543.0339. You want a
maxResolution of 4x that, if  you want the whole world in one 64 pixel
tile: 626172.1356 . I don't know if the OSM.xml file actually has rules
to account for that, but adding maxresolution=626172.1356 to your config
will certainly get you closer.



> Also I am using mod_python so perhaps the performance isn't as a big
> deal if the xml isn't being read with every request that was a cache
> miss. My basic concern was how much faster could I make a custom
> apache module if I were so inclined. Thanks again!

Much faster, probably, but not in any important way. I've *never* seen
anyone peg a CPU with serving cached tiles: I have seen TileCache peg a
1gbps network connection, though.

Again, the time to read the XML vs. time to render a tile is tiny. If
you're concerned about speed, the most important thing to do is make
sure your tiles are pre-cached, not worry about the TileCache time,
which will be miniscule by comparison.

-- Chris

> -Matt
> 
> --- On Fri, 12/26/08, Christopher Schmidt <crschmidt at metacarta.com> wrote:
> From: Christopher Schmidt <crschmidt at metacarta.com>
> Subject: Re: [Tilecache] Permissions and TileSize
> To: tilecache at openlayers.org
> Date: Friday, December 26, 2008, 11:47 AM
> 
> On Fri, Dec 26, 2008 at 08:17:22AM -0800, Matthew Rushton wrote:
> > I finally figured out the issue, it ended up being a boundary file
> > that had the wrong permissions, so all is good and appears to be
> > working. One issue that remains is my tile size. I'm using 64x64 and
> > this makes zoom level zero not be the entire world. 
> 
> This isn't enough information to understand what you're hoping for.
> Please share your TileCache config and a tile that you're looking for. 
> 
> > The only other issue I was curious about was performance with osm
> > data. I'm worried about the xml file being parsed too frequently.
> > Does  anyone have experience with this? Is my concern valid?
> 
> Since: 
>  * Pre-cached tiles never touch the XML file
>  * Non-precached tiles will take much longer to render than to use
>    a C-based XML parser to read the XML file
> 
> My guess is that your concern is a case of premature optimization.
> 
> If you are using mod_python, the config file is read once per apache
> child startup. If you are using CGI, it is read with every request that
> needs to generate tiles.
> 
> -- Chris
> 
> > -Matt
> > 
> > --- On Thu, 12/25/08, Matthew Rushton <mrushton7 at yahoo.com> wrote:
> > From: Matthew Rushton <mrushton7 at yahoo.com>
> > Subject: 
> > To: tilecache at openlayers.org
> > Date: Thursday, December 25, 2008, 10:09 PM
> > 
> > I'm trying to set up TileCache and running into a few problems with
> likely simple solutions. I'm using Mapnik to render the tiles to a disk
> cache. I previously was using another tile server, so I know mapnik is working
> great. This is the error I'm getting below. I know it's a problem with
> loading the osm.xml file I just don't know why. I've changed
> persmissions so it shouldn't be an issue. What sort of problem could this
> be? What do people generally keep the permissions of this file and others,
> including tiles, at. Thanks in advance.
> > -Matt 
> > 
> > An error occurred
> > 
> > : failed opening file: Bad file descriptor
> >   File "/var/www/tilecache-2.04/TileCache/Service.py", line 224,
> in modPythonHandler
> >     host )
> >   File "/var/www/tilecache-2.04/TileCache/Service.py", line 208,
> in dispatchRequest
> >     return self.renderTile(tile,
> >  params.has_key('FORCE'))
> >   File "/var/www/tilecache-2.04/TileCache/Service.py", line 138,
> in renderTile
> >     data = layer.render(tile)
> >   File "/var/www/tilecache-2.04/TileCache/Layer.py", line 437,
> in render
> >     return self.renderTile(tile)
> >   File "/var/www/tilecache-2.04/TileCache/Layers/Mapnik.py",
> line 40, in renderTile
> >     mapnik.load_map(m,self.mapfile)
> > 
> > 
> > 
> >       
> > 
> > 
> >       
> > _______________________________________________
> > Tilecache mailing list
> > Tilecache at openlayers.org
> > http://openlayers.org/mailman/listinfo/tilecache
> 
> 
> -- 
> Christopher Schmidt
> MetaCarta
> _______________________________________________
> Tilecache mailing list
> Tilecache at openlayers.org
> http://openlayers.org/mailman/listinfo/tilecache
> 
> 
> 
>       
-- 
Christopher Schmidt
MetaCarta



More information about the Tilecache mailing list