ผมไปอ่านเจอ TIP สำหรับการ เพิ่มประสิทธฺภาพระบบ สำหรับ Mapserver 5.xx ที่ใช้งานร่วมกับ Spatial Database อย่าง Postgresql+postgis คิดว่าน่าจะเป็นประโยชน์มากๆสำหรับท่านที่ใช้งาน POSTGIS กับ Mapserver อยู่โดยคุณ paul ได้เขียน tip ง่ายๆที่หลายคนมองข้ามไว้ว่า

1. การลดเวลาการหา SRID และ Primary key ของ Map Server ด้วยการ define มันซะ

       ปกติการ config เรามักจะกำหนด data connection ง่ายๆเช่น DATA “the_geom from the_table”  ซึ่งในความเป็นจริงก็สามารถทำงานได้ครับ แต่ mapserver จะต้อง query กับไปถาม database เองทุกครั้งที่เปิดเชื่อมต่อ ดังนั้นเพิ่มลด process ตรงนี้ก็นิยามไว้ซะเลย

         DATA “the_geom from gistable using unique gid using srid=4326”

2. connection pool : กรณีที่ท่านมี Postgis layer หลายๆชั้น สำหรับระบบที่ไม่ได้ใช้ fast-cgi ควรจะใช้ connection pool เพื่อลดเวลาการเชื่อมต่อ โดยสามารถกำหนดให้ mapserver คงการเชื่อมต่อสำหรับ postgis layer ต่างๆได้โดยสร้าง config ใน mapfile ดังนี้

        PROCESSING “CLOSE_CONNECTION=DEFER”

        เทคนิคง่ายๆที่ช่วยเพิ่มประสิทธิภาพการทำงานของระบบได้มากเลยทีเดียว ผมลองเทียบการ config แบบธรรมดากับแบบของ คุณ paul ramsey โดยลองกับ Postgis layer ประมาณ 20 layer ผลออกมาก็เป็นตามคาดครับเรียกว่าต่างกันแบบทันตาเลยทีเดียว😀