Normal loading time

A general question.
When using my own .osm Data with docker I’ve noticed that the time it takes for the status in localhost:8080/ors/v2/health to be ready varies drastically with different files.

There seems to be no link between file size and loading times as a 1.2 gb file may take 10 minutes and a slightly bigger one of 1.4 gb takes two hours upwards.

Is there a way to controll steer this or is there a best practice for preparing data beforehand?

I use geofabrik to load different tiles and osmosis to merge and cut it into a fitting shape.

Hey,

there should definitely be a link between file size and loading times, as it should take a lot longer to generate graphs as the file size grows.

What might be interesting here is a) how many profiles you have configured respectively, b) how many roads are in your particular area (which sort of correlates with file size) and c) whether you’re reading already built graphs or generate new ones.

If you can confirm that a 1.2 GB file takes only 10 minutes to build new graphs, it’d be great if we could get our hands on said file…

Best regards

Hi @jschnell

Thank you for your reply. How would I upload a file here?

When you are saying I could reduce the number of profiles used, would that be done in ors-config.json?

I only need driving-car, what else could I remove from that file?

Best

Hey,

We don’t have an option for that - any file share of your choice should suffice, though.

Yes, that’s in the ors-config. If you only need car, remove all other profiles from the active-part. In case you only need directions, you can also disable matrix and isochrones in the default parameters.

Best regards

@jschnell

the fast loading file is here (1.155 GB)
the very slow loading one is here (1.354 GB)

I only use it for isochrones.

my docker-compose.yaml:

version: '2.4'
services:
  ors-app:
    container_name: ors-app
    ports:
      - "8080:8080"
      - "9001:9001"
    image: openrouteservice/openrouteservice:nightly
    # For versioned images see https://giscience.github.io/openrouteservice/installation/Running-with-Docker.html
    user: "${UID:-0}:${GID:-0}"
    # build:
    #   context: ./
    #   args:
    #     OSM_FILE: ./ors-api/src/test/files/merged.osm.pbf
    volumes:
      - ./docker/graphs:/home/ors/ors-core/data/graphs
      - ./docker/elevation_cache:/home/ors/ors-core/data/elevation_cache
      - ./docker/logs/ors:/home/ors/logs
      - ./docker/logs/tomcat:/home/ors/tomcat/logs
      - ./docker/conf:/home/ors/ors-conf
      - ./docker/data:/home/ors/ors-core/data
      - ./cut2.osm:/home/ors/ors-core/data/osm_file.pbf
    environment:
      - BUILD_GRAPHS=True  # Forces the container to rebuild the graphs, e.g. when PBF is changed
      - "JAVA_OPTS=-Djava.awt.headless=true -server -XX:TargetSurvivorRatio=75 -XX:SurvivorRatio=64 -XX:MaxTenuringThreshold=3 -XX:+UseG1GC -XX:+ScavengeBeforeFullGC -XX:ParallelGCThreads=4 -Xms6g -Xmx6g"
      - "CATALINA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9001 -Dcom.sun.management.jmxremote.rmi.port=9001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
      - ORS_CONFIG=/home/ors/ors-conf/ors-config.json

and my config:

{
  "ors": {
    "services": {
      "isochrones": {
        "enabled": true,
        "attribution": "openrouteservice.org, OpenStreetMap contributors, tmc - BASt",
        "maximum_range_distance": [
          {
            "profiles": "driving-car",
            "value": 50000
          },
          {
            "profiles": "driving-car",
            "value": 100000
          }
        ],
        "maximum_range_time": [
          {
            "profiles": "driving-car",
            "value": 3600
          },
          {
            "profiles": "driving-car",
            "value": 3600
          }
        ],
        "fastisochrones": {
          "maximum_range_distance": [
            {
              "profiles": "any",
              "value": 50000
            },
            {
              "profiles": "driving-car, driving-hgv",
              "value": 500000
            }
          ],
          "maximum_range_time": [
            {
              "profiles": "any",
              "value": 18000
            },
            {
              "profiles": "driving-car, driving-hgv",
              "value": 10800
            }
          ],
          "profiles": {
            "default_params": {
              "enabled": false,
              "threads": 12,
              "weightings": "recommended",
              "maxcellnodes": 5000
            },
            "hgv": {
              "enabled": true,
              "threads": 12,
              "weightings": "recommended, shortest",
              "maxcellnodes": 5000
            }
          }
        },
        "maximum_intervals": 10,
        "maximum_locations": 2,
        "allow_compute_area": true
      },
      "routing": {
        "enabled": false,
        "mode": "normal",
        "routing_description": "This is a routing file from openrouteservice",
        "routing_name": "ORSRouting",
        "sources": ["./src/test/files/heidelberg.osm.gz"],
        "init_threads": 1,
        "attribution": "openrouteservice.org, OpenStreetMap contributors, tmc - BASt",
        "distance_approximation": true,
        "elevation_preprocessed": false,
        "profiles": {
          "active": ["car", "public-transport"],
          "default_params": {
            "encoder_flags_size": 4,
            "graphs_root_path": "graphs-apitests",
            "elevation_provider": "multi",
            "elevation_cache_clear": false,
            "elevation_cache_path": "elevation-cache",
            "elevation_smoothing": false,
            "instructions": true,
            "maximum_distance": 100000,
            "maximum_distance_round_trip_routes": 100000,
            "maximum_segment_distance_with_dynamic_weights": 50000,
            "maximum_waypoints": 50,
            "maximum_snapping_radius": 350,
            "maximum_avoid_polygon_area": 200000000,
            "maximum_avoid_polygon_extent": 20000,
            "preparation": {
              "min_network_size": 200,
              "min_one_way_network_size": 200,
              "methods": {
                "lm": {
                  "enabled": true,
                  "threads": 1,
                  "weightings": "recommended,shortest",
                  "landmarks": 16
                }
              }
            },
            "execution": {
              "methods": {
                "lm": {
                  "active_landmarks": 8
                }
              }
            }
          },
          "profile-car": {
            "profiles": "driving-car",
            "parameters": {
              "encoder_options": "turn_costs=true|block_fords=false|maximum_grade_level=1|use_acceleration=true|conditional_access=true|conditional_speed=true",
              "maximum_distance": 100000,
              "elevation": false,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,
                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest"
                  },
                  "lm": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest",
                    "landmarks": 16
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "fastest,shortest",
                    "landmarks": 32
                  }
                }
              },
              "execution": {
                "methods": {
                  "lm": {
                    "active_landmarks": 8
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {
                  "restrictions": true
                },
                "WaySurfaceType": {},
                "Tollways": {},
                "Borders": {
                  "boundaries": "./src/test/files/borders/borders.geojson",
                  "ids": "./src/test/files/borders/ids.csv",
                  "openborders": "./src/test/files/borders/openborders.csv"
                },
                "RoadAccessRestrictions": {
                  "use_for_warnings": true
                },
                "HereTraffic": {
                  "enabled": true,
                  "streets": "./src/test/files/traffic_data/here/Streets.shp",
                  "ref_pattern": "./src/test/files/traffic_data/here/ref_pattern.csv",
                  "pattern_15min": "./src/test/files/traffic_data/here/pattern_kph_15min.csv",
                  "radius": 150,
                  "output_log": false,
                  "log_location": "ors/traffic_log"
                }
              },
              "traffic": false
            }
          },
          "profile-hgv": {
            "profiles": "driving-hgv",
            "parameters": {
              "encoder_options": "turn_costs=true|block_fords=false|use_acceleration=true",
              "maximum_distance": 100000,
              "elevation": false,
              "maximum_speed_lower_bound": 75,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,
                "methods": {
                  "ch": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended"
                  },
                  "lm": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended",
                    "landmarks": 16
                  },
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended,shortest",
                    "landmarks": 32
                  }
                }
              },
              "execution": {
                "methods": {
                  "lm": {
                    "active_landmarks": 8
                  },
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "HeavyVehicle": {
                  "restrictions": true
                },
                "WaySurfaceType": {},
                "Tollways": {},
                "Borders": {
                  "boundaries": "./src/test/files/borders/borders.geojson",
                  "ids": "./src/test/files/borders/ids.csv",
                  "openborders": "./src/test/files/borders/openborders.csv"
                },
                "HereTraffic": {
                  "enabled": true,
                  "streets": "./src/test/files/data/traffic_data/here/Streets.shp",
                  "ref_pattern": "./src/test/files/data/traffic_data/here/ref_pattern.csv",
                  "pattern_15min": "./src/test/files/data/traffic_data/here/pattern_kph_15min.csv",
                  "radius": 150,
                  "output_log": false,
                  "log_location": "ors/traffic_log"
                }
              },
              "traffic": false
            }
          },
          "profile-bike-regular": {
            "profiles": "cycling-regular",
            "parameters": {
              "encoder_options": "consider_elevation=false|turn_costs=true|block_fords=false",
              "elevation": true,
              "preparation": {
                "min_network_size": 200,
                "min_one_way_network_size": 200,
                "methods": {
                  "core": {
                    "enabled": true,
                    "threads": 1,
                    "weightings": "recommended,shortest",
                    "landmarks": 32
                  }
                }
              },
              "execution": {
                "methods": {
                  "core": {
                    "disabling_allowed": true,
                    "active_landmarks": 6
                  }
                }
              },
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-mountain": {
            "profiles": "cycling-mountain",
            "parameters": {
              "encoder_options": "consider_elevation=false|turn_costs=true|block_fords=false",
              "elevation": true,
              "maximum_snapping_radius": 10,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-road": {
            "profiles": "cycling-road",
            "parameters": {
              "encoder_options": "consider_elevation=false|turn_costs=false|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-bike-electric": {
            "profiles": "cycling-electric",
            "parameters": {
              "encoder_options": "consider_elevation=false|turn_costs=true|block_fords=false",
              "elevation": true,
              "ext_storages": {
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-walking": {
            "profiles": "foot-walking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "interpolate_bridges_and_tunnels": false,
              "ext_storages": {
                "GreenIndex": {
                  "filepath": "./src/test/files/green_streets_hd.csv"
                },
                "NoiseIndex": {
                  "filepath": "./src/test/files/noise_data_hd.csv"
                },
                "csv": {
                  "filepath": "./src/test/files/csv_data_hd.csv"
                },
                "ShadowIndex": {
                  "filepath": "./src/test/files/shadow_index_hd.csv"
                },
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-hiking": {
            "profiles": "foot-hiking",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": true,
              "elevation_smoothing": true,
              "ext_storages": {
                "GreenIndex": {
                  "filepath": "./src/test/files/green_streets_hd.csv"
                },
                "NoiseIndex": {
                  "filepath": "./src/test/files/noise_data_hd.csv"
                },
                "ShadowIndex": {
                  "filepath": "./src/test/files/shadow_index_hd.csv"
                },
                "WayCategory": {},
                "WaySurfaceType": {},
                "HillIndex": {},
                "TrailDifficulty": {}
              }
            }
          },
          "profile-wheelchair": {
            "profiles": "wheelchair",
            "parameters": {
              "encoder_options": "block_fords=true",
              "elevation": true,
              "maximum_snapping_radius": 50,
              "ext_storages": {
                "Wheelchair": {
                  "KerbsOnCrossings": "true"
                },
                "WaySurfaceType": {},
                "WayCategory": {},
                "OsmId": {}
              }
            }
          },
          "profile-public-transport": {
            "profiles": "public-transport",
            "parameters": {
              "encoder_options": "block_fords=false",
              "elevation": false,
              "maximum_visited_nodes": 15000,
              "gtfs_file": "./src/test/files/vrn_gtfs_cut.zip"
            }
          }
        }
      }
    }
  }
}