Skip to content

การใช้งานและโควต้า (Usage & Quotas)

ในหน้า Dashboard ของแต่ละโปรเจกต์ จะมีส่วนที่แสดงข้อมูล Usage & Quotas อย่างชัดเจน เพื่อให้ทีมนักพัฒนาสามารถประเมินการขยายตัว (Scaling) และค่าใช้จ่ายของแอปพลิเคชันล่วงหน้าได้อย่างแม่นยำ


📈 1. เข้าใจขีดจำกัด (Rate Limits)

เพื่อรักษาความเสถียรของระบบส่วนรวม (Fair Use) RawPush จึงมีการกำหนดขอบเขตความเร็วในการส่งข้อมูลของแต่ละโปรเจกต์ (ซึ่งจะผันแปรไปตาม Plan หรือแพ็กเกจที่คุณเลือกใช้งาน)

โควต้าหลักที่คุณต้องคอยจับตาดู:

  1. Max Concurrent Connections:

    • คือจำนวน Client ที่กำลัง connect WebSocket อยู่ พร้อมกันในเวลาเดียวกัน
    • ใช้ติดตามว่าระบบรองรับผู้ใช้งานพร้อมกันได้มากน้อยแค่ไหน
  2. Message Rate Limit (Msg/s):

    • คือจำนวน Message ที่ถูกส่งผ่าน REST API หรือ Publish ออกไปใน 1 วินาที
    • หากเกินลิมิตนี้ Backend ของคุณจะได้รับ 429 Too Many Requests แทน 202
  3. Monthly Messages:

    • จำนวน Message ทั้งหมด (รวมทั้งขาเข้าและ Broadcast ขาออก) นับเป็นโควต้ารายเดือน ที่จะถูก reset ใหม่ทุกรอบบิล

🚨 2. เกิดปัญหา 429 บ่อย? ทำอย่างไรดี

หากในหน้า Error Log เริ่มเห็น rate_limit_exceeded (429) เป็นจำนวนมาก

ทางแก้ระยะยาว:

  • ไปที่เมนู Settings ของโปรเจกต์ เพื่อขออัปเกรดโควต้า (Upgrade Quota)

ทางแก้ระยะสั้นสำหรับผู้สร้าง Backend:

  • Throttling: เขียนคิวควบคุมการส่ง API ไว้ใน Backend เช่น จากเดิมที่สั่งซื้อ 100 รายการแล้วส่ง REST API รัว 100 ครั้ง... ให้จัดคิวค่อยๆ ส่งทีละ 5 ครั้งต่อวินาที (Rate limit token bucket)
  • Batching: หรือจะรวมข้อมูลหลายรายการลง Array ก้อนเดียว (ตราบใดที่ไม่เกิน 10KB payload limit) ส่งรอบเดียว ก็ลดการใช้โควต้าได้อย่างมาก!

Released under the MIT License.