Export to GitHub

mod-geocache - PreliminaryBenchmark.wiki


Introduction

These are some preliminary results on a cached tile. Requests were run with apachebench on a single wms request so as to factor out OS filesystem caching. The graphs show the mean number of requests served per second, depending on the number of concurrent threads used. while not very rigourous (client and server are on the same machine, other processes active on the machine), they do give an idea of the performance of mod_geocache compared to tilecache+mod_python.

The test machine is a recent quadcore desktop, running apache with worker-mpm and default settings.

Serving a cached tile

http://localhost/tilecache/tilecache.py?LAYERS=test&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-2.8125,47.8125,0,50.625&WIDTH=256&HEIGHT=256 http://localhost/geocache?LAYERS=test&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-2.8125,47.8125,0,50.625&WIDTH=256&HEIGHT=256

the results are the mean requests/sec from a sample of 100000 requests. As a reference, the results obtained by apache serving the same static tile is included.

http://mod-geocache.googlecode.com/svn/trunk/static/bench_cached.png

Merging cached tiles

http://localhost/tilecache/tilecache.py?LAYERS=test,test3&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-2.8125,47.8125,0,50.625&WIDTH=256&HEIGHT=256 http://localhost/geocache?LAYERS=test,test3&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-2.8125,47.8125,0,50.625&WIDTH=256&HEIGHT=256 In this example, prerendered tiles from the test and test3 layers are dynamically merged together and sttreamed to the client. Tweaking the level of compression of the created png file has a significant effect on overall performance. This benchmark is run on a dual core macbook.

http://mod-geocache.googlecode.com/svn/trunk/static/bench_merging.png