سلام
دوستان یه مسئله برام پیش بوده برای یه سایت که تعداد بازدید خیلی زیادی داره به مشکل برخوردم !!
نه مشکل کوئری هست نه مشکل بهینه سازی و نه موراد مشابه
من از فریم ورک خام لاراول استفاده کردم و یه Route صفحه اصلی بیشتر هم ندارم که وقتی صفحه اصلی رو تو مرورگر در چندین تب مختلف باز میکنم همزمان میرم تو سرور مقدار مصرف cpu رو نگاه میکنم میبینم که cpu یهو 100% رو پر میکنه اونم فقط بخاطر اجرای یه صفحه ساده hello word واقعا برام عجیب بود حتی روت و ویو ها و کانفیگ ها رو هم کش کردم بازم هیچ فرقی نکرد
اگه اینطوری باشه که چندصدتا کاربر همزمان فقط یه صفحه عادی لاراول رو باز کنند سایت down میشه...
حالا نکته جالب اینه که همین صفحه hello world رو با یه فایل عادی php اجرا کردم و در 50 تا تب مرورگر همزمان اجراش کردم ولی cpu از جاش تکون نمیخورد و متوجه شدم انگار هر چی هست به خود هسته اصلی لاراول ربط داره که اینقدر cpu رو درگیر میکنه ولی واقعا نمیدونم دقیقا از چیه که مشکل رو رفع کنم!
ورژن لاراول 5.7 هست و php7.2 و مشخصات سرور بصورت زیر هست:
Thread Count 1
Processor Name Intel(R) Xeon(R) CPU E5-2660 v2 @ 2.20GHz
Vendor ID GenuineIntel
Processor Speed (MHz) 2194.711
Total Memory 1882412 kB
Free Memory 343008 kB
Total Swap Memory 0 kB
Free Swap Memory 0 kB
Load Average 0.09, 0.2, 0.23
Php 7.2.34 Installed
روت لاراول بصورت زیر هست:
Route::get('/', 'PagesController@index');
کنترل PagesController.php بصورت زیر هست :
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class PagesController extends Controller
{
public function __construct()
{
}
public function index(Request $request)
{
return view('indexpage');
}
}
و محتوای indexpage.blade.php بصورت زیر هست :
<h1>Hello world</h1>
اینم تصویر مصرف cpu تو اون لحظه باز شدن صفحه سایت :
ممنون میشم اگه از دوستان تجربه ای نکته ای چیزی وجود داره بهم بگه که این مشکل رو رفع کنم واقعا چیزی نموند که تست نکرده باشم.
سپاس از همگی
@hesammousavi
@Alimotreb
@mhyeganeh
@mobinasattari7
@mehranmarandi90
@gomnam
@farhadi
@khanzadimahdi
@muhamad
@mimsadAlef
@hekmati
@ali.bayat
@milad
@juza66
@endworld
@mohsenbostan
@mohaligateway
@esn7ir
@hossein.r.1442
@hosseinshirinegad98
سلام
از امکاناتی مثل performance و memory در inspect مرورگر استفاده کنید تا اطلاعات دقیقتر و هدفمندتری از این ایراد بدست بیارید.
@hekmati
خب مشکل لود وجود نداره که اصلا سمت کاربر
چون یه لاراول خام استفاده شده با یک روت و یه ویو که درون صفحه اش نوشته hello world داره نمایش داده میشه
و اصلا نه تمپلیتی وجود داره نه دیتابیسی نه هیچ چیز دیگه تازه همه چی رو هم کش کردم هم روت ها رو هم کانفیگ ها رو هم ویو ها رو
ولی بازم وقتی همون صفحه سایت رو تو 50 تا تب تو مرورگر همزمان باز میکنم یهو 100درصد cpu مصرف میشه در حالی که همون متن رو تو یه صفحه معمولی php میزارم و همزمان تو 50 تا تب مرورگر باز میکنم اصلا cpu مصرف نمیشه!!!
برام عجیبه
نه تو فریم ورک دستکاری خاصی کردم نه چیز دیگه
@muhammad
از سرور آنلاین استفاده میکنم و اسکریپت لاراول هم درحالت production هست منابع سرور هم خوبه آخه چرا یه صفحه عادی php رو در همون شرایط با کمترین استفاده از cpu اجرا میکنه ولی تحت لاراول واقعا 100 درصد درگیر میکنه!
سلام
@saeiidm
چند بحث وجود داره :
1)رکوئست بالا
2) بحث پردازش کد
توی بحث اول بخش عمده عملیات روی وب سرور هست : شما اگر از nginx یا Litespeed استفاده کنید قطعا نتیجه بهتری خواهید گرفت!
و اینکه نیاز به کانفیگ هم داره ، شما باید موارد مموری لیمیت و execution time رو در PHP تنظیم کنید . ( چون توی حالت عادی لیمیت هستن )
بحث دوم بحث پردازش کد شماست ، سی پی یو آنچنان سی پی یو قوی نیست ولی خب برای همچین کدی ، اره زیاد هم هست.
مموری سرور شما هم کافیست
شما باید پارامتر های پردازشی رو که توی بحث اول گفتم ، هماهنگ با نوع سرورتون کانفیگ کنید
کانفیگ درست سرور و وب سرور ، توی عملکرد درست و استفاده بهینه از منابع سرور ، بسیار مهم هست.
موفق باشید.
یکی از سایت های که داشتم با اینکه توی صفحه کلی ریلیشن و دریافت اطلاعات از دیتابیس داشتم با 40 تب باز (البته این کار اصولی نیست) همین مقدار توی عکس زیر از سی پی یو استفاده شدم ، این نشان میده که سرور شما درست کانفیگ نشده ، اگر هم هاست اشتراکی هست که مربوط به شرکت ارائه دهنده هاستتونه. من از میهن وب هاست و هاست اشتراکی استفاده میکنم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟