4
ฉันจะเพิ่มประสิทธิภาพ pgrouting เพื่อความเร็วได้อย่างไร
ฉันใช้ pgrouting ในฐานข้อมูล postgis ที่สร้างผ่าน osm2pgrouting มันทำงานได้ดีมากในชุดข้อมูลที่มีข้อ จำกัด (วิธี 3.5k เส้นทางที่สั้นที่สุดทั้งหมด A * ค้นหา <20 ms) อย่างไรก็ตามเนื่องจากฉันได้นำเข้ากล่องขนาดใหญ่กว่า (122k วิธี) จาก europe.osm ประสิทธิภาพการทำงานก็ลดลงมาก (เส้นทางที่สั้นที่สุดมีค่าใช้จ่ายประมาณ 900ms) ฉันคิดว่าการใช้ A * ส่วนใหญ่ของขอบเหล่านั้นจะไม่เคยถูกเยี่ยมชมเนื่องจากอยู่นอกเส้นทาง สิ่งที่ฉันได้ทำไปแล้วเพื่อพยายามปรับปรุงความเร็ว: วางดัชนีลงในคอลัมน์รูปทรงเรขาคณิต (ไม่มีเอฟเฟกต์ที่เห็นได้ชัดเจน) เพิ่มหน่วยความจำของฉันจาก 8GB เป็น 16GB เปลี่ยนการตั้งค่าหน่วยความจำ postgresql (shared_buffers, effective_cache_size) จาก (128MB, 128MB) เป็น (1GB, 2GB) (ไม่มีผลที่เห็นได้ชัดเจน) ฉันมีความรู้สึกว่างานส่วนใหญ่กำลังทำอยู่ในห้องสมุด C Boost ที่ซึ่งกราฟกำลังทำอยู่ดังนั้นการปรับ …