代码之家  ›  专栏  ›  技术社区  ›  ssast

EC2上OSM磁贴服务器的推荐规范

  •  1
  • ssast  · 技术社区  · 6 年前

    我正在使用mod\u tile/renderd和osm2pgsql构建一个OSM tile服务器,如下所示: https://switch2osm.org/manually-building-a-tile-server-16-04-2-lts/

    使用我当前的spec EC2服务器t2。xlarge,Ubuntu 16.04,我几乎可以处理国家大小的地图,尽管动态渲染瓷砖仍然很慢,所以需要render\u list。我已经尝试了所有可以加快渲染速度的性能调整,但我真正认为我需要的是一个更强大的服务器,尤其是最终目标是一个星球大小的导入。我能找到的大多数服务器规格都非常过时。

    有人会推荐EC2实例(或通用云服务器规范)在2018年构建行星大小的OSM tile服务器吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   ssast    6 年前

    我发现升级到m5.2xlarge服务器就足以与planet数据库一起工作了——在我以前的16gb服务器上,我的许多DB任务的RAM都用完了。其他需要解决的重要问题包括:

    1. 在整个表几何体上构建空间索引,在我的例子中,osm2pgsql没有这样做。我确实已经从运行openstreetmap carto/脚本/索引中获得了部分索引。py但这些不适合我的风格,也没有被使用,所以我需要创建以下索引:

      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)

    2. 在样式xml文件中手动设置图层范围(我刚刚使用了地图范围)-我省略了它,这意味着它必须通过耗时的PostGIS查询进行计算,请参见: https://github.com/mapnik/mapnik/wiki/OptimizeRenderingWithPostGIS

    3. 运行真空并分析

    我现在可以在缩放0-11时运行render\u list,服务器可以根据需要生成进一步的缩放级别,而不会出现问题。