تیلور اتول (خالق فریمورک لاراول) اولین بار لاراول اکتان (Laravel Octane) را در لاراكون آنلاین 2021 رونمایی کرد. لاراول اکتان یک پکیج مجزا برای اجرای لاراول با کارایی بسیار بالا هستش که از محیط هایی مثل Swoole و RoadRunner استفاده میکنه. در حال حاضر نسخه آزمایشی لاراول اوکتان در دسترس هستش.
کتابخونه هایی مثل Swoole و RoadRunner به برنامه نویس های php کمک میکنه که کدهاشونو با سرعت بالاتری تولید کنن. با نصب این کتابخونه شما HTTP, Websocket, Concurrent TCP, UDP, Unix socket رو در اختیار دارید و نیازی نیست خودتون رو درگیر مباحث تخصصی I/O کنید.
اکتان توانایی این رو داره که تقریبا 6000 درخواست در هر ثانیه رو با محتوای تستی «سلام دنیا» و در شرایط ۵۰ درخواست همزمان با استفاده از چهار تسک یا موضوع (Thread) همزمان رو هندل کنه.
برای مثال از کد زیر میتونین برای تست سنگین استفاده کنین.
wrk -t4 -c50 http://localhost:8000/hello-world
اکتان چطور کار میکنه؟
چون اکتان تحت خط فرمان (CLI) کار میکنه پس مستقیما با Artisan در ارتباط هستش. با استفاده از دستور (octane: start) یکی از کتابخونه های Swoole یا RoadRunner رو اجرا میکنه. شما می تونید مشخص کنید که از کدوم تکنولوژی و با چه تعداد تسک برای CPU می خواید استفاده کنید:
artisan octane:start --workers=8 --server=roadrunner
Swoole و RoadRunner از فرمول هایی استفاده می کنن که PHP میتونه چندین فرآیند کارگر (worker) رو پردازش بکنه و بر اساس شماره هسته پردازنده ، کارآمدتر اجرا بشه. با استفاده از Swoole یا RoadRunner امکان بازدهی شروع برنامه بهتر میشه ، که این عمل همراه با PHP OPcache باعث میشه تا با ذخیره کد بایت در حافظه مشترک (RAM) ، سربار به حداقل برسه.
کارگران PHP بین درخواست ها فعال میمونن و آماده دریافت درخواست های جدید هستن. حذف زمان راه اندازی فریمورک تاثیر قابل توجهی در عملکرد برنامه هایی که تحت بار سنگین درخواست های HTTP هستن داره.
لاراول اکتان چه هدفی داره؟
توی این نسخه های آزمایشی اکتان، برنامه های معمولی در هر ثانیه درخواست عجیب و غریبی نمیکنن. با این حال ، برنامه هایی که با PHP نوشته شدن هم نیاز به دسترسی بالا دارن. لاراول خودشو در موقعیت منحصر به فردی میبینه که تضمین کنه فریمورکش با ابزارهایی مثل Swoole به طور یکپارچه و خوب کار میکنه.
پشتیبانی لاراول از این فناوری ها باعث پیشرفت چشمگیر رویکرد های مدرن در سطح برنامه های PHP میشه. این کار کل اکوسیستم PHP رو تحت تاثیر خودش قرار میده.
لاراول اکتان چه زمانی منتشر میشه؟
لاراول اکتان بصورت بتا منتشر شده و قابل استفاده هستش. اما یادتون باشه که این نسخه بتا هستش و حتما داخلش باگ و خطا وجود داره. پس ممکنه که موقع کار با اون به خطا و باگ برخورد کنین. شما میتونین درباره این پکیج اطلاعات بیشتری مثل روش نصب و… رو داخل صفحه GitHub اون ببینین.
// Instead, reference the `$app` instance passed to the closure
$this->app->bind(CacheManager::class, function ($app) {
return new CacheManager($app);
});
لطفا اكتان رو با برنامه ها و بسته های خودتون تست كنین. اگه به مشکل یا باگی برخوردید میتونید از صفحه گیت هاب اون رو گزارش کنید. اینطوری این پکیج خوب و کارآمد زودتر تکمیل میشه و همه میتونن ازش استفاده کنن.
خوشحال میشم نظرات و تجربیاتتون رو درباره لاراول اکتان بشنوم.
منبع :
https://laravel-news.com/laravel-octane
https://laravel-news.com/laravel-octane-beta