Simple tile server for .mbtiles
-files written in C# with minimal APIs.
Run dotnet run
in the src
folder to start the application.
Download the latest standalone.zip from the release page, place your .mbtiles
-file in the "data"-folder, rename it to map_data.mbtiles
and start the .NET application. The tiles are available at https://localhost:5001/{z}/{x}/{y}.png
.
- Place your .mbtiles file in the
./data
directory (mkdir data
) and rename it tomap_data.mbtiles
. - Generate a (trusted) https certificate and place it in the
https
folder:
dotnet dev-certs https -ep ./https/aspnetapp.pfx -p <password>
dotnet dev-certs https --trust
- Enter your chosen https certificate password in the
docker-compose.yml
environment variable. - Build the tile server with
docker compose build
. - Run the server with
docker compose up
. - Open the
./test/index.html
to see a leaflet-demo. - [Optional] Enter the container with
docker exec -it tile-server-app-1 bash
.
dotnet-counters and dotnet-dump are available in the /tools
-folder of the tile-server. /tools/dotnet-counters monitor -p 1
can provide a high-level overview of the applications health (CPU usage, GC- and thread pool information,...).
/tools/dotnet-dump collect -p 1
can be used to create (and also analyze) dumps.
Install k6 by Grafana Labs and run the following command: k6 run test/k6.js
Statistics from a local bombardier benchmark:
./bombardier https://localhost/5/15/19.png -d 120s --insecure
Bombarding https://localhost:443/5/15/19.png for 2m0s using 125 connection(s)
Done!
Statistics Avg Stdev Max
Reqs/sec 36734.64 4022.55 47849.41
Latency 3.40ms 1.08ms 122.90ms
HTTP codes:
1xx - 0, 2xx - 4407445, 3xx - 0, 4xx - 0, 5xx - 0
others - 0
Throughput: 716.23MB/s
https://ftp.gwdg.de/pub/misc/openstreetmap/openandromaps/world/OAM-World-1-8-min-J80.mbtiles