为什么Postgres闲置95%,没有文件I / O?
我在OpenStack云的8核Ubuntu 12.04 VM上运行了TileMill / PostGIS堆栈。这是对非常相似的系统的重建,该系统上周在非常相似的硬件(相同的云,但我认为是不同的物理硬件)上很好地运行。我试图完全按照原来的方式重建堆栈(使用我构建的一些脚本)。 一切都在运行,但是数据库执行查询的速度非常慢,最终以非常缓慢的切片生成来体现自己。一个示例查询(计算澳大利亚每个城镇半径内的酒吧数量),以前花费了大约10到20秒,现在却超过了10分钟: explain (analyze, buffers) update places set pubs = (select count(*) from planet_osm_point p where p.amenity = 'pub' and st_dwithin(p.way,places.way,scope)) + (select count(*) from planet_osm_polygon p where p.amenity = 'pub' and st_dwithin(p.way,places.way,scope)) ; Update on places (cost=0.00..948254806.93 rows=9037 width=160) (actual time=623321.558..623321.558 rows=0 loops=1) Buffers: shared …