Performance Power Apps
Performance Power Apps คือ เรื่องที่เราต้องคำนึงและทำความเข้าใจเรื่องประสิทธิภาพในการใช้งาน เพราะมันกระทบกับ User โดยตรง ถ้า App ของเราใช้เวลาในการเรียกข้อมูล นาน หรือ ใช้เวลาใน Save นานมาก แน่นอนว่า User ต้องไม่พอใจ ดังนั้นในตอนนี้เราจะมาทำความเข้าใจเกี่ยวกับ การทำงานของ Power Apps กันครับ
ขั้นตอนการดําเนินการใน Canvas Apps
จะผ่านขั้นตอนการดําเนินการต่อไปนี้ก่อนที่จะแสดง Interface :
- ตรวจสอบสิทธิ์ผู้ใช้: แจ้งให้ผู้ใช้ครั้งแรกลงชื่อเข้าใช้ด้วยข้อมูลรับรองสําหรับการเชื่อมต่อใดก็ตามที่แอปต้องการ หากผู้ใช้รายนั้นเปิดแอปอีกครั้ง บุคคลนั้นอาจได้รับพร้อมท์อีกครั้ง โดยขึ้นอยู่กับนโยบายความปลอดภัยขององค์กร
- รับข้อมูลเมตา: เรียกข้อมูลเมตา เช่น เวอร์ชันของแพลตฟอร์ม Power Apps ที่แอปทํางานและแหล่งข้อมูลที่ต้องดึงข้อมูล
- เริ่มต้นแอป: ทํางานใดๆ ที่ระบุในคุณสมบัติ OnStart
- แสดงหน้าจอ: แสดงหน้าจอแรกด้วยตัวควบคุมที่แอปเติมข้อมูล หากผู้ใช้เปิดหน้าจออื่นแอปจะแสดงโดยใช้กระบวนการเดียวกัน
ขั้นตอนการเรียกข้อมูลของ Power Apps
รูปแบบแรกเป็นการเรียกข้อมูลที่อยู่บน Cloud เช่น SharePoint
รูปแบบที่ 2 เป็นการเรียกข้อมูลผ่าน on-premises data gateway
รูปแบบที่ 3 การเรียกผ่าน Dataverse แบบนี้จะใช้เวลาสั้นที่สุด คําขอข้อมูลจะไปยังอินสแตนซ์สภาพแวดล้อมโดยตรง—โดยไม่ต้องผ่านการจัดการ Azure API ด้วยเหตุนี้ประสิทธิภาพของการเรียกข้อมูลจึงเร็วกว่ามากเมื่อเทียบกับแหล่งข้อมูลที่เหลือ แอปจะเชื่อมต่อกับ Microsoft Dataverse ตามค่าเริ่มต้นเมื่อคุณสร้างแอปพื้นที่ทํางานใหม่
การออกแบบ Application ที่มีผลต่อประสิทธิภาพ
- App ที่มีการใช้ข้อมูลจำนวนมาก : แอปจะได้รับชุดข้อมูลขนาดใหญ่ลงในการรวบรวมข้อมูลในขั้นต้น จากนั้นใช้ข้อมูลภายในหลายหน้าจอผ่านการดําเนินการที่มีลูกค้าจํานวนมาก เช่น JOIN, Sort, Add Column และ Group By
- App ที่มีการเรียกใช้ข้อมูล OnStart: แอปทริกเกอร์การเรียกข้อมูลที่ไม่จําเป็นจํานวนมากในหน้าจอและการเรียกข้อมูลเหล่านี้จะส่งคืนบันทึกข้อมูลขนาดใหญ่
ทั้งหมดมีผลต่อประสิทธิภาพของระบบ รวมทั้งขนาด Memory ของเครื่องที่เรียกใช้ก็มีผลด้วย
ปัญหาคอขวดในแหล่งข้อมูล
มีหลายสาเหตุที่เป็นไปได้ของปัญหาคอขวดในแหล่งข้อมูล โดยปกติ ตารางในแหล่งข้อมูลจะเป็นศูนย์กลางของกิจกรรมเมื่อแบบสอบถามธุรกรรม/แบบสอบถามที่ไม่ใช่การแปลงข้อมูลจํานวนมากถูกนําไปยังตารางหรือเรกคอร์ดเดียวกันจากผู้ใช้ที่แตกต่างกัน
การเรียก OData อาจช้าลงถ้า:
- เครื่องแบ็คเอนด์ที่โฮสต์แหล่งข้อมูลมีทรัพยากรเหลือน้อย
- อินสแตนซ์ SQL ส่วนหลังมีการบล็อก การชะงักงัน หรือความขัดแย้งของทรัพยากร
- เกตเวย์ข้อมูลภายในองค์กรไม่ดีต่อสุขภาพ
การควบคุมปริมาณคําขอปริมาณมากชั่วคราวที่ส่วนหลัง
ขึ้นอยู่กับวิธีที่คุณออกแบบแอปพื้นที่ทํางาน แอปนั้นสามารถสร้างการเรียกข้อมูลจํานวนมากได้ภายในเวลาอันสั้น ตัวอย่างเช่น แอปที่เชื่อมต่อกับสภาพแวดล้อม Power Platform อยู่ภายใต้ขีดจํากัด API การป้องกันบริการ Dataverse แอปดังกล่าวอาจได้รับการควบคุมปริมาณเมื่อการเรียกข้อมูลเกินขีดจํากัดที่รองรับ
หากแอปเกินขีดจํากัดการควบคุมปริมาณของตัวเชื่อมต่อ แอปนั้นอาจมีคันเร่งชั่วคราว การทําโปรไฟล์แอปโดยใช้ Monitor สามารถช่วยคุณตรวจสอบปัญหานี้ได้ นอกจากนี้โปรดทราบว่าแอปที่สร้างการเรียกข้อมูลที่หลีกเลี่ยงได้จํานวนมากอาจไม่ให้ประสบการณ์การใช้งานที่ดีที่สุดแก่ผู้ใช้แม้ว่าการโทรจะไม่ได้รับการควบคุมปริมาณก็ตาม
ผู้สร้างสามารถเลือกจากแหล่งข้อมูลหลายแหล่งที่พร้อมใช้งานสําหรับ Power Apps โดยใช้ตัวเชื่อมต่อที่แตกต่างกัน แม้ว่าจะมีตัวเลือกมากมายให้เลือกแหล่งข้อมูล แต่การเลือกแหล่งข้อมูลและตัวเชื่อมต่อที่เหมาะสมเป็นสิ่งสําคัญจากหลายมุมมอง เช่น สถาปัตยกรรม ประสิทธิภาพ การบํารุงรักษา และความสามารถในการปรับขนาด
ขีดจํากัดเฉพาะตัวเชื่อมต่อมีอยู่ในเอกสารประกอบของตัวเชื่อมต่อ Power Apps และอาจแตกต่างกันไปเมื่อเปรียบเทียบกับตัวเชื่อมต่ออื่นๆ
ขีดจำกัดของ API
การเลือกประเภทการพัฒนาให้เหมาะสมกับระบบ
Performance Power Apps เป็นปัจจัยหนึ่งในการพัฒนาระบบ เช่นระบบที่มีการทำงานกับข้อมูลจำนวนมาก ก็ต้องเลือก Dataverse เพราะสามารถเรียกข้อมูลจำนวนมากขึ้นมาใช้งานได้พร้อมกัน แต่ถ้าเป็นข้อมูลจำนวนไม่มาก ก็ใช้ SharePoint เป็น Database
ในขบวนการพัฒนาระบบต้อง พิจารณาเรื่องความเร็วของระบบเพิ่มอีกด้วย เช่น ระบบที่ต้องมีการเขียน อ่านข้อมูลมาก ๆ จะเจอปัญหาข้อมูลไม่ทันเขียน ก็ถือเรียกขึ้นมาใช้งานแบบนี้เป็นเพราะผู้ไม่พัฒนาไม่เข้าใจเรื่อง Performance ดีพอ ทำให้การพัฒนามี Bug เกิดขึ้นในการใช้งานด้วย