EC2 上 OSM tile 服务器的推荐规范
Recommended spec for an OSM tile server on EC2
我正在使用 mod_tile/renderd 和 osm2pgsql 构建一个 OSM tile 服务器,按照此处的说明:https://switch2osm.org/manually-building-a-tile-server-16-04-2-lts/
使用我当前的规格 EC2 服务器 t2.xlarge、Ubuntu 16.04,我几乎可以使用国家大小的地图,尽管动态渲染图块仍然很慢,所以 render_list 是必需的。我已经尝试了所有我能找到的性能调整来加速渲染,但我真正认为我需要的是一个更强大的服务器,特别是当最终目标是一个行星大小的导入时。我能找到的大多数服务器规格都非常过时。
有人会推荐 EC2 实例(或通用云服务器规格)以在 2018 年构建一个行星大小的 OSM tile 服务器吗?
我发现升级到 m5.2xlarge 服务器足以使用 planet 数据库 - 在我以前的 16gb 服务器上,我 运行 内存不足,无法执行许多数据库任务。其他需要解决的重要问题是:
在整个 table 几何图形上建立空间索引,在我的例子中,osm2pgsql 没有这样做。我确实已经有了来自 运行ning openstreetmap-carto/scripts/indexes.py 的部分索引,但这些索引不符合我的风格 table 并且没有被使用,所以我需要创建这些索引:
CREATE INDEX planet_osm_polygon_index ON planet_osm_polygon USING GIST(way)
CREATE INDEX planet_osm_line_index ON planet_osm_line USING GIST(way)
在样式xml文件中手动设置图层范围(我只是使用了地图范围)-我省略了它,这意味着它必须通过耗时的PostGIS计算查询,见:https://github.com/mapnik/mapnik/wiki/OptimizeRenderingWithPostGIS
运行 一个 VACUUM 和 ANALYZE
我现在已经能够 运行 render_list 缩放 0-11,并且服务器可以根据需求生成进一步的缩放级别而不会出现问题。
我正在使用 mod_tile/renderd 和 osm2pgsql 构建一个 OSM tile 服务器,按照此处的说明:https://switch2osm.org/manually-building-a-tile-server-16-04-2-lts/
使用我当前的规格 EC2 服务器 t2.xlarge、Ubuntu 16.04,我几乎可以使用国家大小的地图,尽管动态渲染图块仍然很慢,所以 render_list 是必需的。我已经尝试了所有我能找到的性能调整来加速渲染,但我真正认为我需要的是一个更强大的服务器,特别是当最终目标是一个行星大小的导入时。我能找到的大多数服务器规格都非常过时。
有人会推荐 EC2 实例(或通用云服务器规格)以在 2018 年构建一个行星大小的 OSM tile 服务器吗?
我发现升级到 m5.2xlarge 服务器足以使用 planet 数据库 - 在我以前的 16gb 服务器上,我 运行 内存不足,无法执行许多数据库任务。其他需要解决的重要问题是:
在整个 table 几何图形上建立空间索引,在我的例子中,osm2pgsql 没有这样做。我确实已经有了来自 运行ning openstreetmap-carto/scripts/indexes.py 的部分索引,但这些索引不符合我的风格 table 并且没有被使用,所以我需要创建这些索引:
CREATE INDEX planet_osm_polygon_index ON planet_osm_polygon USING GIST(way)
CREATE INDEX planet_osm_line_index ON planet_osm_line USING GIST(way)
在样式xml文件中手动设置图层范围(我只是使用了地图范围)-我省略了它,这意味着它必须通过耗时的PostGIS计算查询,见:https://github.com/mapnik/mapnik/wiki/OptimizeRenderingWithPostGIS
运行 一个 VACUUM 和 ANALYZE
我现在已经能够 运行 render_list 缩放 0-11,并且服务器可以根据需求生成进一步的缩放级别而不会出现问题。