ประสิทธิภาพของ webman

กระบวนการการดำเนินการของเฟรมเวิร์กแบบดั้งเดิม

  1. Nginx/Apache รับคำขอ
  2. Nginx/Apache ส่งคำขอไปที่ php-fpm
  3. PHP-FPM สร้างสภาพแวดล้อม เช่น การสร้างรายการตัวแปร
  4. PHP-FPM เรียกใช้ RINIT ของส่วนขยาย/โมดูลต่าง ๆ
  5. PHP-FPM อ่านไฟล์ PHP จากดิสก์ (สามารถหลีกเลี่ยงการใช้ opcache)
  6. PHP-FPM วิเคราะห์ซึ่งรูปแบบไวยากรณ์และคอมไพล์เป็น opcode (สามารถหลีกเลี่ยงการใช้ opcache)
  7. PHP-FPM ประมวลผล opcode รวมถึง 8.9.10.11
  8. เฟรมเวิร์กสร้างสภาพแวดล้อม เช่น การสร้างคลาสต่าง ๆ เช่นคอนเทนเนอร์, คอนโทรลเลอร์, เส้นทาง, มิดเดิลแวร์ เป็นต้น
  9. เฟรมเวิร์กเชื่อมต่อฐานข้อมูลและตรวจสอบสิทธิ์การเชื่อมต่อ redis
  10. เฟรมเวิร์กประมวลผลตรรกะธุรกิจ
  11. เฟรมเวิร์กปิดการเชื่อมต่อฐานข้อมูลและ redis
  12. PHP-FPM ปล่อยทรัพยากร, ทำลายค่าที่กำหนดไว้, ทำลายอินสแตนซิมโบล, เป็นต้น
  13. PHP-FPM เรียกใช้เมทอด RSHUTDOWN ของส่วนขยาย/โมดูลต่าง ๆ ตามลำดับ
  14. PHP-FPM ส่งผลลัพธ์กลับไปที่ Nginx/Apache
  15. Nginx/Apache ส่งผลลัพธ์กลับไปยังไคลเอนต์

กระบวนการการดำเนินการของ webman

  1. เฟรมเวิร์กรับคำขอ
  2. เฟรมเวิร์กประมวลผลตรรกะธุรกิจ
  3. เฟรมเวิร์กส่งผลลัพธ์กลับไปที่ไคลเอนต์

ใช่ โดยไม่มีการส่งคำขอผ่าน nginx reverse proxy กระบวนการนี้ทำให้เฟรมเวิร์กมีเพียง 3 ขั้นตอนนี้เท่านั้น สามารถว่าเป็นจุดสุดยอดของเฟรมเวิร์ก PHP ซึ่งทำให้ประสิทธิภาพของ webman แตกต่างจากเฟรมเวิร์กแบบดั้งเดิมเป็นหลายเท่าและบางครั้งอาจเป็นหลายสิบเท่าเลย

อ่านเพิ่มเติมได้ที่ การทดสอบการทนทาน