openstreetmap / openstreetmap/mod_tile

Tiles cache does not work for low zoom

Open
#260 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
318
Forks
199
PR merge metrics
No merged PRs in 30d

Description

I ran render_list to create titles cache.

Meta tiles rendered: Rendered 1398103 tiles in 61960.41 seconds (22.56 tiles/s)
Total tiles rendered: Rendered 89478592 tiles in 61960.41 seconds (1444.13 tiles/s)
Total tiles handled: Rendered 1398103 tiles in 61960.41 seconds (22.56 tiles/s)
*****************************************************
Zoom 01: min:  1.2    avg:  1.2     max:  1.2     over a total of      1.2s in 1 requests
Zoom 02: min: 104.1    avg: 104.1     max: 104.1     over a total of    104.1s in 1 requests
Zoom 03: min: 104.2    avg: 104.2     max: 104.2     over a total of    104.2s in 1 requests
Zoom 04: min:  0.6    avg: 535.4     max: 1605.0     over a total of   1606.2s in 3 requests
Zoom 05: min:  0.2    avg: 121.8     max: 1583.3     over a total of   1826.5s in 15 requests
Zoom 06: min:  0.2    avg: 61.8     max: 1750.2     over a total of   3952.6s in 64 requests
Zoom 07: min:  0.2    avg: 15.6     max: 1294.7     over a total of   3971.6s in 255 requests
Zoom 08: min:  0.2    avg:  6.2     max: 892.9     over a total of   6375.1s in 1024 requests
Zoom 09: min:  0.2    avg:  1.7     max: 599.4     over a total of   7071.1s in 4096 requests
Zoom 10: min:  0.2    avg:  0.6     max: 237.7     over a total of  10385.3s in 16384 requests
Zoom 11: min:  0.2    avg:  0.5     max: 174.2     over a total of  32224.5s in 65536 requests
Zoom 12: min:  0.2    avg:  0.3     max: 122.0     over a total of  91320.5s in 262141 requests
Zoom 13: min:  0.2    avg:  0.3     max: 96.5     over a total of 314768.3s in 1048564 requests

Cache works fine for higher zoom. For lower zoom tiles are being rendered over and over again instead of being read from cache.

[Fri Sep 03 10:42:41.600301 2021] [tile:debug] [pid 19:tid 139994266433280] ./src/mod_tile.c(374): [client 10.0.3.10:55890] tile_state: determined state of ajt 5 4 4 on store 7f52e4000f50: Tile size: 149379, expired: 1 created: 1630391540

As you can see tile was created 3 days ago but still it's expired already.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report identifies render_list and the diagnostic in src/mod_tile.c:374; start by reviewing that tile_state path and reproducing cache requests at low and high zoom. Done means low-zoom tiles are read from the cache instead of being rendered repeatedly, while the logged expiration state matches the tile age.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, cpp
Domain
backend, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.