2

您好,感谢您在 OpenMapTiles 上所做的所有出色工作。

我正在尝试为欧洲、北美甚至世界制造瓷砖。

我正在使用./quickstart脚本,据说美国需要 30 天,欧洲需要 192 天。这是在c5d.18xlargeEC2 实例(70 个 CPU、180G RAM、SSD 磁盘)上运行的。

我错过了什么吗?

我目前正在尝试使用 Docker 之外的数据库(在本地主机上)来查看我是否可以加快速度……但是你们好吗?

4

2 回答 2

1

我正在使用这个
https://github.com/mapbox/mbutil/blob/5e1ac74fdf7b0f85cfbbc245481e1d6b4d0f440d/patch

这是我的脚本之一,我将其全部合并到 tmp 并检查该文件是否仍在进行 tilelive-copy

for i in *.mbtiles; do
    [ -f "$i" ] || break
    if [[ $i != *"final.mbtiles"* ]]; then
      if ! [[ `lsof -c /tilelive-copy/ $i` ]]; then
  exit=$(/usr/local/bin/merge_mbtiles.sh $i /tmp/final.mbtiles)
        echo $exit
        (( $rc )) && echo "merge failed $i" && exit 1
        echo "merge sucessfull"
      fi
    fi
done
于 2018-09-24T11:02:18.183 回答
0

我也在使用openmaptiles,并且在最后一次更新后速度极慢(仍然必须找出导致这种情况的变化)。quickstart 脚本非常适合尝试和弄清楚,最后我开始编写脚本来拆分和并行化工作。现在,我们正在使用缩放 0-14(快速)处理整个世界,而欧洲大部分地区使用 14-18(需要数周时间)

尝试以下方法:
* 调整 postgres(默认值对大型数据库不利)
* 尝试分割区域并解析工作。

您可以看到使用 tilelive-copy 的渲染过程并没有真正使用所有内核。整个过程在使用资源方面并不是那么有效。经过几次尝试后,我发现并行启动多个工作人员(最终)比使用更多 CPU 核心速度超大型服务器要快。

另见:
https ://github.com/openmaptiles/openmaptiles/issues/462
https://github.com/mapbox/tilelive/issues/181

于 2018-09-21T14:28:09.487 回答