سلام.چرا پیج های لاراول وقتی تو محیط لوکال هست انقدر کمه؟؟
عکس.jpg)
آیا واقعا سرعت انقدر کمه؟؟؟ یا باید کاری کرد.
پروژه هم تمرینیه.اصلا پروژه بزرگی نیس.
از همون اولم سرعتش اینجوری کم بوده(3 4 ثانیه)
در صورتی که پی اچ پی خام وقتی ران میشه از عرض کمتر از 100 میلی ثانیه جواب میده
حالا باز تو سیستم خودمه. اگه بره روی هاست یا سرور چی؟؟ و چندصد تا درخواست همزمان ارسال بشه چی؟
سلام
@MahdiSP
یه اسکریپت 4 خطی شاید زود برای شما لود بشه
ولی وقتی کدی رو در محیط فریم ورک میزنید ، داستانش متفاوت هست
تا جایی هم که ماها کار کردیم هیچ افت سرعتی نیست
بسته به پردازش کد ، بسته به نوع کوئری ها به دیتابیس ، همه اینا متفاوت هست
کدتون رو قرار بدید ، قابلیت هارو بگید ، تا دلیل افت سرعتتون مشخص شه
این همه سایت با لاراول داریم! کسی صحبتی از افت سرعتش نکرده!
۲ حالت وجود داره
خارج از گزینه های بالا استفاده غیر صحیح از برخی توابع و کلیدواژه ها در PHP میتونه باعث این تاخیر بشه; مثلا حلقه while ی که داره اطلاعات زیادی رو پردازش میکنه و ...
سرعت لود صفحه بیشتر به کدهای فرانت اند برمیگرده
مثلا minify کردن css و js و عکس ها و ...
البته که لاراول کندتره نسبت به پی اچ پی خام .. ولی این تو درخواست های بالا مشخص میشه نه تو لود یه صفحه ساده
@Alimotreb
@ali.bayat
@rezajashnsaz0011
در صورتی که پروژه لاراولی همه چیش درست کار کنه و میزون باشه، چقدر طول میکشه تا لود بشه یک صفحه ای؟؟؟
یک مشکل رایج که گاهی باهاش مواجه میشین اینه که لوکال هاستتون (که مثلا با XAMPP ساخته شده) سرعت اتصال به شدت کمی داره و این رو باید رفع کنید از تنظیمات MySQL یا کار های مشابه (گاها با یه بار re install رفع میشه).
برای این که ببینید این مشکل کندی در MySQL رو دارید یا خیر در همون محیط لوکال هاست، وارد phpMyAdmin بشید و سرعت رو تست کنید.
مورد بعدی که وجود داره در کل پرفرمنس PHP کمتر از بعضی زبان هاست؛ و وقتی شما درگیر یک فریم ورک میشید این پرفرمنس باز هم کاهش پیدا میکنه.
کاری که باید بکنید در حالت پروداکشن زیاده. شما باید اولا کانفیگ ها و هر چیز ممکن دیگه رو کش کنید
مثلا:
php artisan config:cache
یا اتولود رو بهینه کنید:
composer dumpautoload -o
و مورد دیگه که مهم هم هستش، شما باید در پایان کار شما سرویس های اضافه رو از لود شدن حذف کنید که بی دلیل لود نشن سرعت رو کاهش بدن. در واقع از چیزی که استفاده نمیکنید، بی دلیل لودش نکنید.
مورد فوق العاده مهم که تا 4 5 برابر سرعت رو بیشتر میکنه، جلوگیری از کامپایل مجدد کد ها توسط OP Cache هستش. در کل php یک زبان مفسری هستش و نیاز در هر ریکوئست کد های شما به بایت کد ترجمه بشه تا بتونه اجرا بشه.
شما با استفاده از OP Cache میتونید این تفسیر رو کلا حذف کنید و مستقیم بایت کد رو در سیستم نگه دارید.
این مقاله رو میتونید مطالعه کنید: https://medium.com/appstract/make-your-laravel-app-fly-with-php-opcache-9948db2a5f93
از نظر پرفرمنس هم بخوایم مقایسه کنیم، در یک هسته CPU و یک گیگ رم، با ده ورکر همزمان، در حالتی که OP Cache غیر فعال باشه لاراول 10.18 ریکوئست در هر ثانیه رو جواب میده.
در همین سیستم و همین وضعیت اگه OP Cache رو فعال کنیم، این عدد به طور شگفت انگیزی بهبود پیدا میکنه و به 42.53 ریکوئست در هر ثانیه میرسه.
مقالاتی که پیشنهاد میکنم مطالعه کنید:
https://geekflare.com/laravel-optimization/
https://medium.com/appstract/make-your-laravel-app-fly-with-php-opcache-9948db2a5f93
https://www.cloudways.com/blog/laravel-performance-optimization/
-- بروزرسانی --
در قسمتی که گفتید اگه ریکوئست های لاراول به مقدار بالا برسه چطور؟
در پاسخ به این سوال باید بگم بله لاراول در نهایت کم میاره و مجبور میشید عوضش کنید.
اما این اتفاق الان نمیفته؛ وقتی میفته که شما صاحب یه وبسایت بزرگ و منطقا سود ده هستید که اون موقع خیلی فرقی نمیکنه عوضش میکنید.
مثلا میاید از php خام استفاده میکنید که فقط چیزایی که لازم دارید توش باشه.
یا فرضا یه لول بالاتر میاید از پایتون و جنگو استفاده میکنید.
و باز یه لول بالاتر از Go استفاده میکنید.
اما ممکنه شما در شروع کار با Go کار کنید؟ بله ممکنه اما خب زمان نوشتن کد هاتون رو زیاد میکنه و نمیصرفه. پس با همین لاراول شروع کنید و مطمئن باشید تا جایی که به سود دهی زیاد برسید شما رو همیاری میکنه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟