Commit Graph

12 Commits

Author SHA1 Message Date
070df38706 use autoconf / automake to find libraries and make it more portable 2012-01-15 07:23:52 +00:00
9fe9e22b2c mod_tile: Catch errors from render threads to exit cleanly 2011-04-03 16:58:15 +00:00
02a0afa883 [renderd] Add a munin graph to show how much time renderd spends rendering tiles of various zoom levels
With this graph, it is hopefully possible to see where (i.e. towards which zoomlevel) most of the rendering time goes,
and thus might give some indication where optimisations in the style sheet are best focused at, if performance is an issue.
It useses purely wallclock time and thus does not account for individual resources.
2010-09-01 20:19:26 +00:00
d53c3cd447 [mod_tile renderd munin] report mod_tile / renderd usage by zoom level via munin 2010-03-05 18:35:10 +00:00
54c5306295 [mod_tile / renderd] Add two more priority levels into the queues of renderd
In addition to the request queue and the dirty queue, there are now also a requestPrio and requestBulk queue.
The rendering order now is first render requests from requestPrio, then from request followed by the
dirty queue and finally if no other requests are queued, render from the requestBulk queue.

RequestPrio, Request and RequestBulk all block, whereas Diry immediately returns with NotDoneYet.

This also changes mod_tile to submit requests that if not rendered in time would result in 404 errors as high priority.

prioBulk should be useful for things like rerendering all the outdated tiles in the background, but this patch
does not include those changes.
2009-09-18 21:45:58 +00:00
8d75038943 [renderd] Allow renderd to distribute rendering load across multiple servers
This extends renderd to support TCP/IP sockets in addition to unix sockets for submitting rendering requests
and thus renderd can be on a different server.

Furthermore, to distribute the load across multiple servers, renderd can now also dispatch requests to slave renderd's.
So Mod_tile (or any other program driving renderd) submits all its requests to the master renderd, where the requests get
queued in case there are too many. The master renderd then dispatches requests one at a time to either local rendering threads
or to the slave threads, which ever are free for the next request.

To configure this, you can add multiple [renderdN] sections, where N represents the Nth slave and specifies how many threads
it has, its host name and ip port.

The protocol currently does not pass back the actual tiles, so all renderd's have to be able to write to the same
tile directory (e.g. via NFS)
2009-08-28 22:10:40 +00:00
81bf2c7fe2 [renderd] Report stats about queue length and rendering throughput into a stats file
This allows to monitor the performance of renderd and how well it can keep up with the
render requests that are coming in or if it drops them due to overload.
2009-06-24 19:46:24 +00:00
c95fdb710f [renderd] Add the ability to explicitly expire renderd tiles from proxys via HTCP
For large setups of mod_tile, and renderd, it may be beneficial to have a reverse proxy infront of the main tile server.
However when using a fast updating db e.g. running off the minutly diffs, the proxy may either deliver stale content, or the
cache expiry has to be set very short, which limits the effectiveness of the proxy. Instead, this patch adds an explicit
mechanism to renderd to signal to the proxy which tiles have been rerendered and thus should be discarded from the cache.
2009-06-10 19:16:53 +00:00
29080ad2ec More changes to make the tile cache directory configurable at runtime
* -t|--tile-dir option for render_list and convert_meta
* renderd reads it from renderd.conf section "[renderd]" setting "tile_dir"
* mod_tile reads from Apache conf ModTileTileDir directive
There are still some places in store.c left, where HASH_DIR is used directly. More fixes needed.
2009-06-10 16:26:12 +00:00
875a253533 Renderd uses iniparser3.0b ini file parser now which is included
Made renderd more configurable at runtime: socketname, num_threads and the mapnik settings plugins_dir, font_dir, and font_dir_recurse are now available through renderd.conf
    There should be only one incompatible change: the [Default] section in the config is now in all lowercase "[default]" because the parser lib gives section and key names back in lowercase
2009-06-09 15:34:15 +00:00
7db9d18268 Fix compile error due to PATH_MAX not being defined 2009-01-05 23:03:52 +00:00
1a3958cf0d mod_tile: New apache directives and options for multiple tile sets 2009-01-05 22:43:54 +00:00