یک برنامه نویس و تحلیل گر نرم افزارها - مدیر و موسس سپهر گستر و شرکت وبینه
1000% افزایش سرعت لاراول با OCTANE و رقابت با nodejs
بسیار جای شکر آن باقی است که این خبر واقعی است و به سادگی و با نصب یک اکستنشن لاراول را به مانند nodejs کنید !!
برای اینکه شما هم به خیل علاقه مندان افزایش 1000 درصد لاراول بپیوندید لازم است که نسخه PHP 7.3 به بالا را داشته باشید و افزونه Swoole را نصب کنید.
![مقایسه سرعت لاراول با swoole و nodejs](https://files.virgool.io/upload/users/15133/posts/yeay8am6lhbs/lvfiogygsg7f.png)
به تعبیر من دنیای php بی کار ننشسته و راهکاری را ارایه کرده است اما واقعا swoole چه کار میکند آیا صرفایک ابزار برای cahce است ؟ واقعا cache نیست بلکه با تغییر رویکرد اجرای لاراول با کمک افزونه octane کاری میکنه که یکبار برای همیشه لاراول همه آن فلوچارت بزرگی را که دارد را اجرا کند و دیگر اجرا نشود و بقیه بازدید ها از نسخه ای که در RAM قرار گرفته است استفاد کنند . اگر با دقت توجه کنید برنامه های PHP به مفسری معروف هستند یعنی با هربار اجرای برنامه یا باز شدن یک صفحه از ابتدا تا انتها کل کلاس ها و middlware ها اجرا میشوند و این خوب نیست ! اما octane آن را حل کرد حتی خالق لاراول هم در تویتر گفت که laravel + octane از lumen بسیار سریع تر است.
اما کمی در مورد آن بدانیم به نوعی یک وب سرور جدید مانند apache یا ngnix است و با زبان C نوشته شده است و در سایت رسمی خود به طور کامل به آن پرداخته است
لازمه که پروژه های برپایه swoole را به صورت نصب روی هاست اشتراکی انجام ندهید و طبق رویه نصب روی سرور مجازی یا اختصاصی انجام گیرد که برای این کار باید لینوکس را بلد باشید در مثال زیر اگر سرور شما ubuntu است دستور زیر extention swoole را نصب میکند.
sudo apt install php8.0-swoole
php -m | grep swoole
دستور اول در php 8 اکستنشن را نصب میکند و در خط بعد از نصب آن مطمن میشود.
بعد در لاراول هم افزونه octane نصب کنید
composer require laravel/octane
و بعد به جای دستور همیشگی php artisan serve دستور
php artisan octane:start --server=swoole --port=8089
را وارد کنید و برنامه شما در آدرس 127.0.0.1:8089 بر روی swoole اجرا میشود .
تا اینجا کار تمام شد ! اما برای نصب آن روی سرور عملیاتی از افراد دارای تجربه کمک بگیرید و یا این لینک را بخوانید.
به طور مثال در فراخوانی یک آدرس API در یکسان سرعت بسیار متفاوتی دیده میشود در این تست ساده سرعت اجرای تعداد درخواست ها بیش از ۱۰۰۰ درصد یعنی دقیقا 1152 درصد افزایش یافته است
![](https://files.virgool.io/upload/users/15133/posts/yeay8am6lhbs/tce15rlfcpz5.png)
خوب این اعداد از کجا آمده ؟ با توجه به تستی که با ابزار WRK در دو تست 500 اتصال همزمان در ۶ خط طی ۳۰ ثانیه این تست در سیستم من با CPU CORE i5 نصل ۸ و ۸ گیگ رم تست شد.
مثال در php artisan serve پیش فرض
wrk -t 6 -c 500 -d30s http://localhost:8000/api/posts
![۴۸ درخواست در ثانیه اجرا میشود](https://files.virgool.io/upload/users/15133/posts/yeay8am6lhbs/ari7kooakfin.png)
در مثال swoole که با دستور php artisan octane:start --server=swoole --port=8089 اجرا شده است.
wrk -t 6 -c 500 -d30s http://localhost:8089/api/posts
![۶۰۱ درخواست در ثانیه ثبت شده است](https://files.virgool.io/upload/users/15133/posts/yeay8am6lhbs/xfl0h4yty1az.png)
من خیلی کنجکاو شدم که یک پروژه استارتر next.js را اجرا کنم
https://nextjs.org/docs/getting-started
بعد از اینکه npm run dev اجرا شد http://localhost:3000
![595 درخواست در ثانیه توسط nextjs اجرا شد](https://files.virgool.io/upload/users/15133/posts/yeay8am6lhbs/batnijralrgo.png)
با توجه به این تست قطعا لاراول میتواند به عنوان سریع ترین فریم ورک وب مورد تایید قرار بگیرد و حتی در گرفتن API شما میتوانید LARAVEL را به عنوان backend و next js را به عنوان FrontEnd استفاده کنید .
مطلبی دیگر از این انتشارات
هک سایت لاراولی
مطلبی دیگر از این انتشارات
cms فروشگاهی
مطلبی دیگر از این انتشارات
بهترین سایت های ایرانی از نظر طراحی