Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service initialisation times are extremely high with nested caches #921

Open
alfmarcua opened this issue Apr 10, 2024 · 0 comments
Open

Comments

@alfmarcua
Copy link
Contributor

alfmarcua commented Apr 10, 2024

Context

When executing the mapproxy-util serve-develop {conf-file}.yaml command, the startup time is increased by the number of caches that have other caches as a source and also by the number of caches that are part of the source.

This issue is similar to #70 but in this case the problem relies on nested caches.

Expected Behavior

Execution time should not be increased by containing nested caches.

Actual Behavior

Extensive analyses have been performed comparing mapproxy service startup times as a function of two factors:

  1. Number of caches that contain caches as sources
  2. Number of subcaches that make up those sources.

The results are as follows:

Layers Time Config file
200 regular layers 1.5 secs 200_0_0.yaml
200 regular layers + 100 layers with 1 nested cache 8 secs 200_100_1.yaml
200 regular layers + 100 layers with 5 nested caches 36 secs 200_100_5.yaml
200 regular layers + 100 layers with 10 nested caches 1 min 11 secs 200_100_10.yaml
200 regular layers + 200 layers with 1 nested cache 15 secs 200_200_1.yaml
200 regular layers + 200 layers with 5 nested caches 1 min 14 secs 200_200_5.yaml
200 regular layers + 200 layers with 10 nested caches 2 min 22 secs 200_200_10.yaml

Steps to Reproduce

  1. Use the attached configuration files
  2. Execute the command "mapproxy-util serve-develop {conf-file}.yaml" for each conf-file
  3. Observe the log and check startup time

Context

The goal is that the startup time is not affected by the number of caches containing other caches as a source, since being proportional to both the number of such caches and nested caches on each cache, the multiplicative factor can easily become very high.

Your Environment

  • Version used: MapProxy 1.16
  • Environment name and version: Python 3.10
  • Server type and version:
  • Operating System and version: Ubuntu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants