GitXplorerGitXplorer
b

TileSiege

public
30 stars
2 forks
1 issues

Commits

List of commits on branch master.
Unverified
5f12a0dc16d630aa39d50b0b7b97f23c2343c745

Calculate rows_for_zoom more precisely

ddrnextgis committed 3 years ago
Unverified
7babc122b8f601f32ebfcb171ecbf2fde4c314ef

add create_json for list of zoom,lon,lat

bbdon committed 3 years ago
Verified
fc439363b952cf8bfc587b032c9b19d47ed0f696

Update README.md

bbdon committed 3 years ago
Unverified
548b5c9a645107acb36512a712dde1e975b26b43

implement limiting to bbox and maxzoom [#1]

bbdon committed 3 years ago
Unverified
e089522352c4c8fa839bd0c8006d99738875eeba

fix use of bisect

bbdon committed 3 years ago
Unverified
160b82e3ab10eebb5633b7875084ba317b2663bf

add argument parsing for maxzoom and bbox [#1]

bbdon committed 3 years ago

README

The README file for this repository.

siege

Generates realistic traffic for load testing tile servers. Useful for:

  • Measuring throughput, latency and concurrency of your tile serving stack.
  • Identifying bottlenecks such as network, disk I/O, filesystem, CPU.

You could benchmark using random tiles instead, but 70% of those will be ocean.

How to use

Install siege via apt install siege or another package manager.

Create a urls.txt from anonymized tile requests to openstreetmap.org for the week of 2021-08-08:

python create_urls.py [--bbox=MIN_LON,MIN_LAT,MAX_LON,MAX_LAT] [--maxzoom=19]

The output urls.txt will contain about 10,000 rows, with server parameters you can edit:

PROT=http
HOST=localhost
PORT=8080
PATH=
EXT=pbf
$(PROT)://$(HOST):$(PORT)/$(PATH)9/271/168.$(EXT)
$(PROT)://$(HOST):$(PORT)/$(PATH)9/264/186.$(EXT)
...

Then run your load test:

siege --file=urls.txt

The frequency distribution of zooms will match the real data:

 0 |   2122775 █
 1 |   2216794 █
 2 |   6397943 █
 3 |  12472472 ██
 4 |  16428098 ███
 5 |  27779242 █████
 6 |  38843942 ██████
 7 |  41504547 ███████
 8 |  49778705 ████████
 9 |  56767305 █████████
10 |  72384991 ███████████
11 |  71587598 ███████████
12 |  99260380 ███████████████
13 | 135358540 ████████████████████
14 | 135036605 ████████████████████
15 | 136459409 ████████████████████
16 | 102903474 ████████████████
17 |  66522472 ██████████
18 |  37851474 ██████
19 |   6217710 █

Notes

  • The sequence of requests generated will not exhibit the same spatial correlation as real users panning and zooming.