Laravel

Laravel Octane

การกำหนดค่า Octane, Swoole, RoadRunner, งานแบบ concurrent, การป้องกัน memory leak, การเพิ่มประสิทธิภาพ, การ deploy

18 คำถามสัมภาษณ์·
Senior
1

Laravel Octane คืออะไร?

คำตอบ

Laravel Octane เป็นแพ็กเกจอย่างเป็นทางการที่เพิ่มประสิทธิภาพของแอปพลิเคชัน Laravel อย่างมาก โดยเก็บแอปพลิเคชันไว้ในหน่วยความจำระหว่างแต่ละ request จึงขจัดต้นทุนการ bootstrap ในทุก request มันอาศัย application server แบบ persistent อย่าง Swoole หรือ RoadRunner เพื่อให้แอปพลิเคชันถูกโหลดค้างไว้ใน RAM สิ่งนี้ทำให้ได้ประสิทธิภาพสูงขึ้นได้ถึง 10 เท่าเมื่อเทียบกับ PHP-FPM แบบดั้งเดิมบนแอปพลิเคชันที่มีทราฟฟิกสูง

2

ความแตกต่างหลักระหว่าง Swoole และ RoadRunner ใน Laravel Octane คืออะไร?

คำตอบ

Swoole เป็น PHP extension ที่เขียนด้วยภาษา C ซึ่งต้องติดตั้งผ่าน PECL ในขณะที่ RoadRunner เป็น binary แบบ standalone ที่เขียนด้วยภาษา Go และไม่ต้องใช้ PHP extension ใด ๆ โดยทั่วไป Swoole ให้ประสิทธิภาพสูงกว่าเล็กน้อยและมีฟีเจอร์ native มากกว่า เช่น WebSockets แต่ RoadRunner deploy ได้ง่ายกว่าและทำงานได้บนทุกแพลตฟอร์มโดยไม่ต้องคอมไพล์ การเลือกขึ้นอยู่กับข้อจำกัดด้านโครงสร้างพื้นฐานและความต้องการเฉพาะของโปรเจกต์

3

คำสั่งใดใช้เริ่มต้นเซิร์ฟเวอร์ Laravel Octane?

คำตอบ

คำสั่ง artisan ที่ใช้เฉพาะสำหรับเริ่มต้น Octane คือ octane:start ซึ่งจะเปิดใช้ application server แบบ persistent ที่กำหนดค่าไว้ในไฟล์ octane.php คำสั่งนี้รับหลายตัวเลือก เช่น --workers เพื่อกำหนดจำนวน worker, --port เพื่อระบุพอร์ตที่รับฟัง และ --watch เพื่อโหลดแอปพลิเคชันใหม่โดยอัตโนมัติเมื่อไฟล์มีการเปลี่ยนแปลงระหว่างการพัฒนา ในโปรดักชันแนะนำให้ใช้ process manager อย่าง Supervisor เพื่อให้เซิร์ฟเวอร์ทำงานอยู่ตลอด

4

ข้อได้เปรียบหลักของการใช้ Octane เมื่อเทียบกับ PHP-FPM แบบดั้งเดิมคืออะไร?

5

การกำหนดค่าใดใช้กำหนดจำนวน worker ของ Octane?

+15 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Laravel อื่นๆ

พื้นฐาน PHP

Junior
25 คำถาม

พื้นฐาน OOP ใน PHP

Junior
20 คำถาม

Composer & Autoloading

Junior
18 คำถาม

พื้นฐาน Laravel

Junior
20 คำถาม

Laravel Routing

Junior
20 คำถาม

Blade Templates

Junior
18 คำถาม

Request & Response

Junior
20 คำถาม

พื้นฐาน Eloquent ORM

Junior
22 คำถาม

Eloquent Relationships

Mid-Level
25 คำถาม

Migrations & Schema Builder

Mid-Level
20 คำถาม

การตรวจสอบและฟอร์ม

Mid-Level
22 คำถาม

การยืนยันตัวตน

Mid-Level
20 คำถาม

การให้สิทธิ์และ Policies

Mid-Level
18 คำถาม

API Resources & Authentication

Mid-Level
26 คำถาม

Middleware

Mid-Level
18 คำถาม

Service Container & DI

Mid-Level
20 คำถาม

Queues & Jobs

Mid-Level
22 คำถาม

Events & Listeners

Mid-Level
18 คำถาม

การแจ้งเตือนและเมล

Mid-Level
20 คำถาม

File Storage

Mid-Level
18 คำถาม

Testing & PHPUnit

Mid-Level
24 คำถาม

Caching

Mid-Level
18 คำถาม

Livewire & Inertia

Mid-Level
20 คำถาม

Eloquent Advanced

Senior
24 คำถาม

Repository Pattern

Senior
20 คำถาม

Laravel Packages

Senior
20 คำถาม

Performance Optimization

Senior
22 คำถาม

Security Best Practices

Senior
22 คำถาม

Laravel Distributed Systems

Senior
22 คำถาม

Observability & Monitoring

Senior
20 คำถาม

Deployment & DevOps

Senior
20 คำถาม

เชี่ยวชาญ Laravel สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี