วันนี้เราจะมาพูดคุยเกี่ยวกับ Service Protection Limit ของ Power Platform ว่ามันคืออะไร และมีผลกระทบอย่างไรต่อการใช้งาน Power Platform ของเรากันครับ
Power Platform จะไม่ล่ม ด้วย Service protection limit (คิดว่านะ)
Service protection limit เป็นกลไกที่ Power Platform ใช้เพื่อป้องกันไม่ให้เกิดการใช้ทรัพยากรบน cloud อย่างมากเกินไปจนทำให้ผู้ใช้คนอื่นได้รับผลกระทบ เช่น ถ้ามีผู้ใช้คนหนึ่งส่ง request เข้ามาที่ API เป็นจำนวนมากในเวลาสั้นๆ อาจทำให้บริการที่เกี่ยวข้องทำงานช้าลงหรือไม่สามารถตอบสนองได้
- ข้อจำกัดการป้องกันบริการต่อผู้ใช้ (per-user service protection limit) เป็นการจำกัดจำนวนคำขอ API ที่ผู้ใช้คนหนึ่งๆ สามารถส่งได้ต่อวินาที
- ข้อจำกัดการป้องกันบริการต่อแอป (per-app service protection limit) เป็นการจำกัดจำนวนคำขอ API ที่แอปหนึ่งๆ สามารถส่งได้ต่อวินาที
ตัวอย่างหน่อย
ตัวอย่างเช่น ถ้าผู้ใช้คนหนึ่งใช้ Power Automate เพื่อสร้าง flow ที่ทำการส่งคำขอ API เข้าไปยัง Dataverse เพื่อดึงข้อมูลหรือแก้ไขข้อมูล เมื่อ flow ทำงานจะมีการส่งคำขอ API เข้าไปยัง Dataverse โดย
- flow แต่ละตัวจะถูกจำกัดโดย per-app service protection limit
- ผู้ใช้ที่เป็นเจ้าของ flow จะถูกจำกัดโดย per-user service protection limit ครับ
จะเกิดอะไรขึ้นถ้ามีการส่ง Request ถึง Service Protection Limit?
ถ้า flow หรือผู้ใช้ส่งคำขอ API เกินข้อจำกัดที่กำหนดไว้ Power Platform จะ
- request API เพิ่มเติมจาก flow หรือผู้ใช้คนนั้นๆ
- ส่ง error code HTTP 429 Too Many Requests และ error message “Request limit exceeded” ไปยัง flow (หรือแอพพลิเคชั่นที่ส่ง API request เข้ามา)
User มนุษย์ทั่วไปที่ใช้งานแอพของ Power Platform ทั่วไปจึงมีโอกาสน้อยมากที่จะใช้ API Request ถึง limit
นอกเสียจากกรณีต่อไปนี้
- แอพพลิเคชั่นมีการออกแบบให้ User มีการเรียกใช้ระบบของ Power Platform (API Request) จำนวนมากในระยะเวลาสั้นๆ ยกตัวอย่างเช่น เรียกข้อมูล 1 ล้าน record และมีการอัพเดตข้อมูลชุดนั้น ในระยะเวลา 5 นาที อันนี้ก็มีโอกาสถึง limit ครับ
- มีการจงใจเขียนแอพมาเพื่อส่ง API Request จำนวนมหาศาลในระยะเวลาสั้นๆ แบบนี้ก็มีโอกาสถึง limit เหมือนกัน
ตรวจสอบการทำงานของระบบด้วย Power Platform Center of Excellence (CoE) Starter Kit
นอกจากเข้าไปใช้งานส่วนของ Analytics ใน Power Platform Admin Center แล้ว อีกวิธีหนึ่งที่เราสามารถทำได้คือการใช้ Power Platform Center of Excellence (CoE) Starter Kit ซึ่งเป็นชุดของแอปและ flow ที่ช่วยให้เราสามารถจัดการและควบคุม Power Platform ได้อย่างมีประสิทธิภาพ
Power Platform CoE Starter Kit มีแอปที่ชื่อว่า Power Platform Admin View ที่เราสามารถใช้เพื่อดูข้อมูลเกี่ยวกับข้อจำกัดการป้องกันบริการของ Power Platform ได้ เช่น
- จำนวนคำขอ API ที่ถูกส่งไปยัง Dataverse, Power Apps, Power Automate, Power BI, Power Virtual Agents ในช่วงเวลาที่กำหนด
- จำนวนคำขอ API ที่ถูกปฏิเสธโดย Power Platform เนื่องจากเกินข้อจำกัดการป้องกันบริการ
- รายละเอียดของ flow และผู้ใช้ที่ถูกปฏิเสธคำขอ API
- คำแนะนำเพื่อแก้ไขปัญหาที่เกิดจากการเกินข้อจำกัดการป้องกันบริการ