
Laravel Octane
การกำหนดค่า Octane, Swoole, RoadRunner, งานแบบ concurrent, การป้องกัน memory leak, การเพิ่มประสิทธิภาพ, การ deploy
1Laravel Octane คืออะไร?
Laravel Octane คืออะไร?
คำตอบ
Laravel Octane เป็นแพ็กเกจอย่างเป็นทางการที่เพิ่มประสิทธิภาพของแอปพลิเคชัน Laravel อย่างมาก โดยเก็บแอปพลิเคชันไว้ในหน่วยความจำระหว่างแต่ละ request จึงขจัดต้นทุนการ bootstrap ในทุก request มันอาศัย application server แบบ persistent อย่าง Swoole หรือ RoadRunner เพื่อให้แอปพลิเคชันถูกโหลดค้างไว้ใน RAM สิ่งนี้ทำให้ได้ประสิทธิภาพสูงขึ้นได้ถึง 10 เท่าเมื่อเทียบกับ PHP-FPM แบบดั้งเดิมบนแอปพลิเคชันที่มีทราฟฟิกสูง
2ความแตกต่างหลักระหว่าง Swoole และ RoadRunner ใน Laravel Octane คืออะไร?
ความแตกต่างหลักระหว่าง Swoole และ RoadRunner ใน Laravel Octane คืออะไร?
คำตอบ
Swoole เป็น PHP extension ที่เขียนด้วยภาษา C ซึ่งต้องติดตั้งผ่าน PECL ในขณะที่ RoadRunner เป็น binary แบบ standalone ที่เขียนด้วยภาษา Go และไม่ต้องใช้ PHP extension ใด ๆ โดยทั่วไป Swoole ให้ประสิทธิภาพสูงกว่าเล็กน้อยและมีฟีเจอร์ native มากกว่า เช่น WebSockets แต่ RoadRunner deploy ได้ง่ายกว่าและทำงานได้บนทุกแพลตฟอร์มโดยไม่ต้องคอมไพล์ การเลือกขึ้นอยู่กับข้อจำกัดด้านโครงสร้างพื้นฐานและความต้องการเฉพาะของโปรเจกต์
3คำสั่งใดใช้เริ่มต้นเซิร์ฟเวอร์ Laravel Octane?
คำสั่งใดใช้เริ่มต้นเซิร์ฟเวอร์ Laravel Octane?
คำตอบ
คำสั่ง artisan ที่ใช้เฉพาะสำหรับเริ่มต้น Octane คือ octane:start ซึ่งจะเปิดใช้ application server แบบ persistent ที่กำหนดค่าไว้ในไฟล์ octane.php คำสั่งนี้รับหลายตัวเลือก เช่น --workers เพื่อกำหนดจำนวน worker, --port เพื่อระบุพอร์ตที่รับฟัง และ --watch เพื่อโหลดแอปพลิเคชันใหม่โดยอัตโนมัติเมื่อไฟล์มีการเปลี่ยนแปลงระหว่างการพัฒนา ในโปรดักชันแนะนำให้ใช้ process manager อย่าง Supervisor เพื่อให้เซิร์ฟเวอร์ทำงานอยู่ตลอด
ข้อได้เปรียบหลักของการใช้ Octane เมื่อเทียบกับ PHP-FPM แบบดั้งเดิมคืออะไร?
การกำหนดค่าใดใช้กำหนดจำนวน worker ของ Octane?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Laravel อื่นๆ
พื้นฐาน PHP
พื้นฐาน OOP ใน PHP
Composer & Autoloading
พื้นฐาน Laravel
Laravel Routing
Blade Templates
Request & Response
พื้นฐาน Eloquent ORM
Eloquent Relationships
Migrations & Schema Builder
การตรวจสอบและฟอร์ม
การยืนยันตัวตน
การให้สิทธิ์และ Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
การแจ้งเตือนและเมล
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Performance Optimization
Security Best Practices
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี