如何调整docker版osrm-backend单次请求点数量默认500的上限?
调整docker版osrm-backend单次请求最大条目数方法
该报错是osrm-backend默认的viaroute路径规划接口最大坐标点限制为500导致的,通过修改启动参数即可调整:
1. 直接使用docker run启动的场景
在启动命令的osrm-routed命令后添加--max-viaroute-size <你需要的上限值>参数即可,示例如下:
docker run -d -p 5000:5000 -v $(pwd)/osrm-data:/data osrm/osrm-backend osrm-routed --max-viaroute-size 1000 /data/你的地图文件.osrm
上述示例将最大请求条目数调整为1000,可根据自身需求修改数值。
2. 使用docker-compose启动的场景
修改docker-compose.yml配置文件中osrm-backend服务的command配置,添加对应参数即可,示例配置片段:
version: '3' services: osrm-backend: image: osrm/osrm-backend ports: - "5000:5000" volumes: - ./osrm-data:/data # 新增--max-viaroute-size参数调整上限 command: osrm-routed --max-viaroute-size 1000 /data/你的地图文件.osrm
修改保存后执行docker-compose up -d重启服务生效。
注意事项
- 不要将上限值设置过高,过高的单次请求点数会大幅提升服务计算负载,容易导致请求超时、服务崩溃等问题,建议根据实际业务场景设置合理值。
- 如果你使用的是osrm的其他接口触发同类报错,可调整对应接口的限制参数:
- 路径匹配接口(match):对应参数
--max-match-size - 距离矩阵接口(table):对应参数
--max-table-size - 最近点查询接口(nearest):对应参数
--max-nearest-size
- 路径匹配接口(match):对应参数
内容的提问来源于stack exchange,提问作者Dastan Akhmetov
相关产品推荐
相关产品推荐

