Month: December 2010

TileCache and the Ext3, JFS and XFS file systems.

Posted by – Friday 2010-12-24

In this post we will see why the underlying file system used by Tilecache can be an issue because the high number of generated tiles.

Currently, main Linux distros use the Ext3 file system by default, which works with a fixed number of inodes and, hence, a limited number of files. In section 1 the problem is presented in more detail. In section 2 two ‘alternative’ file systems, JFS and XFS, less prone to run out of inodes, are presented.

1. “No space left on device”: running out of inodes.

TileCache can generate a large number of tiles. Let’s suppose we have a map resolution of 285 m/pixel, a scale quantization factor equal to 2, 10 zoom levels and that the cached area has 16,200 square km.; then, for each layer the number of tiles will be over 1,000,000. Say that for instance, we have 25 layers that must be cached; then, the grand total will be over 25,000,000 tiles. In case tiles are stored in the file system – cache types[1] ‘Disk’ or ‘GoogleDisk’ -, the obvious problem we have to deal with is ensuring that the used file system will have room for all the tiles.


Benchmarking TileCache’s metatiling.

Posted by – Saturday 2010-12-04

In WMS cache systems, metatiling consists on requesting larger tiles than ‘regular’ tile size – for us, 256×256 pixels -, and then splitting them into tiles of regular size. TileCache has this feature, and it can be used to dramatically speed up the WMS cache seeding process.

In the first section we will see how to enable TileCache metatiling in a Debian server. In the second section we will see a benchmark showing that speed up in the seeding process, and a simple method to get the best metatile size. Finally, in the third section we see how to avoid two frequent errors when using an instance of MapServer as Web Map Service (WMS) server.

1. Enabling metatiling

In TileCache metatiling is enabled in the configuration file – tilecache.cfg – and must be done in every layer we want to take advantage of this feature. Below a configuration file snippet is shown: