您好,感谢您在OpenMapTiles上所做的所有出色工作。
我正在尝试为欧洲,北美乃至世界制造瓷砖。
我正在使用./quickstart
脚本,据说要花30天才能为美国和欧洲花费192天。
它正在c5d.18xlarge
EC2实例(70 CPU,180G RAM,SSD磁盘)上运行。
我想念什么吗?
我目前正在尝试使用Docker以外的数据库(在localhost上)以查看是否可以加快速度……但是你们好吗?
答案 0 :(得分: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
答案 1 :(得分:0)
我也想尝试分割成几个文件。
但是如何合并渲染的mbtiles文件? 可以给您看脚本吗? GIT?
谢谢
最诚挚的问候
斯蒂芬
答案 2 :(得分:0)
我正在使用这个
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