GitXplorerGitXplorer
b

TileSiege

public
30 stars
2 forks
1 issues

Commits

List of commits on branch master.
Unverified
f69b571446e810771d34f6d9ea4cb8f53c8dac9d

add script to find top 100,000 tiles in past 90 days.

bbdon committed a year ago
Verified
4ffd973b00c8384932438a9750651a9616dd293d

Create zoom_test.js

bbdon committed 3 years ago
Verified
b9bfe93b4748b0356eb6b6ca073f7f50ece63da9

Merge pull request #4 from vincentsarago/minzoom

bbdon committed 3 years ago
Unverified
10f769476615f454b928d0f77017088a2d75b7b1

add minzoom option

vvincentsarago committed 3 years ago
Unverified
51a7966ecfab225ae76bc6cadd4dcfbb5c920d39

readme comment [#2]

bbdon committed 3 years ago
Verified
541d370809d4ac6b9b6b15fea8d31bf66552fc4a

Merge pull request #3 from drnextgis/issue-2

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.