SMProxy (Swoole MySQL Proxy) คือพูลการเชื่อมต่อฐานข้อมูล MySQL ที่พัฒนาโดย Swoole โดยใช้โปรโตคอล MySQL
หลักการ
การเชื่อมต่อฐานข้อมูลจะถูกจัดเก็บไว้ในหน่วยความจำเป็นออบเจ็กต์ เมื่อผู้ใช้ต้องการเข้าถึงฐานข้อมูล การเชื่อมต่อจะถูกสร้างขึ้นเป็นครั้งแรก ในภายหลัง แทนที่จะสร้างการเชื่อมต่อใหม่ ออบเจ็กต์การเชื่อมต่อที่ไม่ได้ใช้งานที่สร้างขึ้นจะถูกนำออกจาก พูลการเชื่อมต่อ หลังการใช้งาน ผู้ใช้จะไม่ปิดการเชื่อมต่อ แต่นำการเชื่อมต่อกลับเข้าไปในพูลการเชื่อมต่อสำหรับคำขอถัดไป การสร้างและการตัดการเชื่อมต่อได้รับการจัดการโดยพูลการเชื่อมต่อเอง
ในเวลาเดียวกัน คุณยังสามารถควบคุมจำนวนการเชื่อมต่อเริ่มต้นในกลุ่มการเชื่อมต่อ ขีดจำกัดบนและล่างของการเชื่อมต่อ จำนวนการใช้งานสูงสุดของแต่ละการเชื่อมต่อ เวลาไม่ได้ใช้งานสูงสุด ฯลฯ โดยการตั้งค่าพารามิเตอร์ของการเชื่อมต่อ สระน้ำ. นอกจากนี้ยังสามารถตรวจสอบจำนวน การใช้งาน ฯลฯ ของการเชื่อมต่อฐานข้อมูลผ่านกลไกการจัดการของตัวเอง หากเกินจำนวนการเชื่อมต่อสูงสุด Coroutine จะถูกระงับรอจนกว่าการเชื่อมต่อจะถูกปิดก่อนที่จะกลับมาทำงานต่อ
ลักษณะเฉพาะ
สนับสนุนการแยกการอ่านและการเขียน
รองรับพูลการเชื่อมต่อฐานข้อมูล ซึ่งสามารถแก้ไขคอขวดการเชื่อมต่อฐานข้อมูลที่เกิดจาก PHP ได้อย่างมีประสิทธิภาพ
รองรับมาตรฐาน SQL92
ใช้การตั้งเวลาโครูทีน
รองรับการเชื่อมต่อฐานข้อมูลหลายรายการ, หลายฐานข้อมูล, ผู้ใช้หลายราย, การจับคู่ที่ยืดหยุ่น
ปฏิบัติตามโปรโตคอลดั้งเดิมของ MySQL, เอเจนต์มิดเดิลแวร์สากลข้ามแพลตฟอร์มและข้ามแพลตฟอร์ม
รองรับธุรกรรม MySQL
รองรับโปรโตคอล HandshakeV10
เข้ากันได้อย่างสมบูรณ์แบบกับ MySQL5.5 - 8.0
เข้ากันได้กับเฟรมเวิร์กหลักเพื่อปรับปรุงประสิทธิภาพได้อย่างราบรื่น