آیا در حین کار بر روی پروژه خود به دنبال راه های موفقی برای بهینه سازی عملکرد پروژه لاراول هستید؟ لاراول یک چارچوب محبوب PHP منبع باز است که به دلیل امنیت قوی و معماری کدنویسی ساده و در عین حال حرفهای خود معروف است. در واقع لاراول انتخابی عالی برای ساخت برنامه های کاربردی وب پیشرفته است که می توانند درآمد را افزایش دهند و مشاغل را به جلو سوق دهند.
با این حال، اگر از تکنیک های بهینه سازی مناسب استفاده نکنید، عملکرد لاراول می تواند آنگونه انتظار دارید پیش نرفته و پروژه شما را با شکست مواجه کند. خوشبختانه، روشهای متعددی برای به حداکثر رساندن عملکرد لاراول وجود دارد. ما فهرستی از مؤثرترین نکات بهینهسازی را گردآوری کردهایم که میتوانید در ادامه آن ها را مطالعه کنید.
چرا بهینه سازی عملکرد لاراول بسیار مهم است؟
توسعه دهندگان باید قبل از انتشار هر برنامه لاراول توجه زیادی به عملکرد آن داشته باشند تا از موفقیت آن اطمینان حاصل کنند. توجه به عملکرد اپلیکیشن یکی از معیارهایی است که توسعه دهنده لاراول باید داشته باشد. بهینه سازی عملکرد لاراول با ترفندها و دستورات کد می تواند به دستیابی به این امر کمک کند و همچنین می تواند تأثیر زیادی بر کارایی برنامه شما داشته باشد.
آیا لاراول کند است؟
لاراول یک فریمورک سریع است که عملکرد آن با مجموعه ای از ویژگی ها و عملکردها (مانند Memcache، پشتیبانی پایگاه داده، Redis و غیره) بهینه شده است. لاراول همچنین به نرمافزارهای حرفهای اجازه میدهد تا کد قوی را با تلاش نسبتاً کمی برای رسیدن به اهداف پروژه بزرگ یا کوچک خود تولید کنند.
از آنجایی که داده ها به صورت جفت های کلید-مقدار در رم سرور ذخیره می شوند، کاربران می توانند تا آنجایی که دوست دارند، برنامه ها یا سایت های خود را به شیوه ای سریع و روان نگهداری کنند. بر اساس داده های گوگل ترند در حال حاضر لاراول محبوب ترین ابزار Backend برای PHP است.
نسخه ۱۰ لاراول که اخیراً منتشر شده است، بهبودهای عملکرد جدیدی را ارائه می دهد. به عنوان مثال، حداقل مشخصات PHP را دارد و به سیمفونی ۶.۰ نیاز دارد که در نسخه ۸/۱ پی اچ پی ۲۰/۶۵٪ سریعتر اجرا می شود. طراحی جدید دستور route:list نمای پیچیده قبلی را کاهش می دهد. لاراول ۱۰ همچنین دارای یک رابط سازنده کوئری کارآمدتر و بسیاری ویژگی های دیگر است.
با این وجود، برخی از عوامل به کندی عملکرد لاراول کمک می کنند. بسیاری از توسعهدهندگان عادتهای ضعیفی دارند، مانند آپلود تعداد زیادی عکس سنگین، استفاده از نسخههای قدیمی PHP، جمعآوری حجم عظیمی از دادههای غیر ضروری، یا غفلت از حذف فایلهای غیر ضروری از پروژههای خود.
معماری پیچیده MVC PHP لاراول و کتابخانه های مرتبط، ترکیبی عالی از امنیت، عملکرد و قابلیت استفاده را ارائه می دهند. به همین دلیل است که یادگیری برخی از روشهای بهینهسازی لاراول برای دستیابی به عملکرد بالاتر، یک قانون مفید است.
سرعت وب سایت مهم است
برداشت های اولیه از هر برندی، تصویری ماندگار است. سرعت وب سایت اولین تاثیری است که بر بازدیدکنندگان وب سایت خود می گذارید. آیا می دانستید که حدود ۵۰٪ از مشتریان آنلاین وب سایت هایی را که بارگذاری آنها بیش از سه ثانیه طول می کشد، رها می کنند؟
سرعت وب سایت (یا به عبارتی عملکرد وب سایت) به مدت زمانی که مرورگر برای بارگذاری صفحات وب کاملاً عملیاتی از یک وب سایت خاص نیاز دارد، اشاره دارد. بنابراین، تأثیر مستقیمی بر تجربه کاربر (UX) و نرخ تبدیل (conversion rate) دارد.
عملکرد وب سایت همچنین بر رتبه SEO شما در موتورهای جستجو تأثیر می گذارد. اگر چندین سایت اطلاعاتی را که بازدیدکنندگان شما به دنبال آن هستند ارائه دهند، ابتدا صفحات وب سریعتر ظاهر می شوند. اگر سایت شما کند باشد، احتمال کمتری دارد که در نتایج جستجوی گوگل رتبه بالایی داشته باشد.
بر این اساس، شما باید مدتی برای به کارگیری راه حل های موثر بهینه سازی عملکرد وب سایت سرمایه گذاری کنید.
مزایای بهینه سازی عملکرد لاراول
در حالی که ممکن است یک برنامه لاراول خارق العاده طراحی کرده باشید، همیشه جایی برای پیشرفت برای رسیدن به کمال وجود دارد. افزایش کارایی لاراول چندین مزیت دارد:
تقویت رشد کسب و کار: بهبود عملکرد لاراول به معنای یک وب سایت یا برنامه کارآمدتر است. در نتیجه، شانس شما برای دستیابی به مخاطبان بیشتری افزایش می یابد.
محیط توسعه منعطفتر: نکات بهینهسازی عملکرد لاراول که در زیر لیست شدهاند به توسعهدهندگان کمک میکنند تا زمان بیشتری را در کدنویسی صرفهجویی کنند، وظایف را سریعتر انجام دهند و منابع کمتری مصرف کنند.
مدیریت بهتر ترافیک: یادگیری نحوه استفاده هوشمندانه از سیستم صف لاراول به وب سایت شما در مدیریت اعداد درخواست کمک می کند، زیرا رشد می کند و حجم زیادی از ترافیک دریافت می کند.
نحوه اندازه گیری عملکرد لاراول
شما زمان و تلاش زیادی را صرف کرده اید تا برنامه وب جذاب خود را به سرانجام برسانید، اما اگر این اپلیکیشن کند باشد، کسی از آن استفاده نخواهد کرد و با دردسر مواجه خواهید شد. اینجاست که تست عملکرد لاراول اهمیت خود را نشان می دهد.
میتوانید از ابزارهای مختلفی برای انجام تستهای عملکرد بر روی پروژه خلاقانه و ارزشمند خود استفاده کنید. بیایید به سه مورد از آنها نگاهی بیندازیم.
۱. Blackfire.io
Blackfire.io یک نمایه کننده برنامه وب بصری است که مسیرهای ضروری را شناسایی می کند تا بتوانید روی قسمت های مهم برنامه PHP خود تمرکز کنید.
این شامل چندین ویژگی نظارت بر عملکرد است و میزان مصرف حافظه، زمان CPU و همچنین I/O را نمایش می دهد. Blackfire.io همچنین به شما این امکان را می دهد که تماس ها و مسیرهای تابع را مرتب کنید تا ببینید برنامه لاراول شما چگونه کار می کند.
۲. Laravel Dusk
Laravel Dusk به شما امکان می دهد برنامه خود را آزمایش کنید و نحوه عملکرد آن را از دیدگاه کاربر بررسی کنید. برای استفاده از Dusk نیازی به نصب Selenium یا JDK ندارید زیرا به طور پیش فرض شامل Chromedriver است.
با یک API مناسب برای توسعهدهندگان مانند Dusk، میتوانید آزمایش مرورگر را خودکار کنید و نیاز به فرآیندهای سختگیرانه مورد نیاز ChromeDriver و PHP WebDriver را به طور جداگانه از بین ببرید.
علاوه بر این، Dusk تصاویر و خروجی کنسول مرورگر آزمایش ناموفق را ذخیره می کند تا بتوانید هر گونه اشکال را برطرف کنید.
۳. LoadForge
LoadForge که برای لاراول طراحی شده است، وب سایت شما را به صورت خودکار اسکن می کند، مشکلات را شناسایی می کند و نمودارهای جامع همراه با آمار عملکرد برای هر صفحه ارائه می دهد.
در کروم، LoadForge به شما اجازه می دهد تا اقدامات مرورگر را ضبط کنید و بعداً آنها را به یک تست LoadForge تبدیل کنید. به این ترتیب، میتوانید با شبیهسازی ورود به سیستم، پیمایش در وبسایت خود یا حتی سفارش دادن، یک تجربه کاربری واقعی ایجاد کنید.
راههای بهینهسازی عملکرد لاراول (۱۷ روش)
در این بخش، ما برخی از بهترین ایدهها و تاکتیکها را با جزئیات بررسی میکنیم تا به شما در بهبود عملکرد لاراول کمک کند.
۱. Route Caching
Route caching یک ویژگی عالی است، به خصوص برای برنامه هایی با تعداد زیادی پیکربندی و مسیرهای پراکنده در سراسر کد. این گروهی از مسیرها است که در یک فرمان بسته بندی شده اند تا به کاهش کار خسته کننده ترسیم مسیرهای شما به صورت دستی کمک کنند. در نتیجه، صفحات وب سایت شما بسیار سریعتر بارگذاری می شوند.
Route cache به لاراول اجازه می دهد تا مسیرها را به صورت دوره ای از حافظه پنهان از پیش کامپایل شده بازیابی کند نه اینکه برای هر کاربر جدید از ابتدا شروع کند.
از دستور php artisan route:clear میتوان برای کش کردن اطلاعات مسیریابی مورد نیاز استفاده کرد.
۲. بهینهسازی Composer
لاراول از ابزار جداگانه ای به نام Composer برای مدیریت وابستگی های مختلف استفاده می کند. هنگامی که در ابتدا Composer را نصب می کنید، به طور پیش فرض وابستگی های توسعه دهنده را در سیستم شما بارگذاری می کند.
این وابستگی ها برای توسعه یک وب سایت مفید هستند. اما هنگامی که سایت شما به طور کامل عملیاتی شد، دیگر نیازی به آنها نیست و در واقع، آنها فقط سرعت آن را کاهش می دهند.
هنگام استفاده از Composer برای نصب بسته ها، از پارامترهای --no-dev و -o به شرح زیر برای حذف وابستگی های dev استفاده کنید:
composer install --prefer-dist --no-dev -o
این دستور به Composer اجازه می دهد تا یک دایرکتوری برای بهینه سازی autoloader و افزایش عملکرد ایجاد کند. این به سادگی درخواست می کند که توزیع رسمی بازیابی و بسته بندی شود، بدون وابستگی به توسعه دهنده.
مراقب باشید که هیچ گونه وابستگی در زمان اجرا را حذف نکنید. این می تواند عملکرد وب سایت شما را به خطر بیندازد یا حتی باعث از کار افتادن آن شود.
۳. کاهش سرویس های بارگذاری خودکار (Autoload)
هدف لاراول این است که فرآیند توسعه را تا حد امکان برای توسعه دهندگان راحت کند. برای مثال، وقتی لاراول را راه اندازی می کنید، حجم زیادی از ارائه دهندگان خدمات فهرست شده در فایل config/app.php را به صورت خودکار بارگذاری می کند تا به شما کمک کند پروژه خود را سریع شروع کنید.
در حالی که این یک گام سودمند توسط لاراول است، شما نیازی به استفاده از همه این خدمات برای ساخت یک برنامه نخواهید داشت.
برای مثال REST API را در نظر بگیرید. شما به خدماتی مانند View Service Provider یا Session Service Provider نیاز ندارید. علاوه بر این، بسیاری از توسعه دهندگان تنظیمات چارچوب پیش فرض را دنبال نمی کنند. شما به سادگی می توانید سرویس هایی را که برای نیازهای شما زائد هستند غیرفعال کنید (مانند ارائه دهنده خدمات صفحه بندی، ارائه دهنده خدمات ترجمه، ارائه دهنده خدمات تأییدیه، و غیره).
شما قادر خواهید بود سرعت برنامه های لاراول خود را با اعمال همین اصل در سایر برنامه ها افزایش دهید. فقط مطمئن شوید که هیچ سرویس مهمی را حذف نکردهاید و قبل از انداختن چکش همه چیز را دوباره بررسی کنید.
۴. استفاده بهینه از دستورات Artisan و Cache
Artisan یک ابزار خط فرمان محبوب است که با لاراول ارائه می شود. اجرای خودکار کارهای تکراری و پیچیده را برای توسعه دهندگان آسان می کند. سازندگان وب سایت همچنین می توانند از آن برای انجام آزمایش ها و تولید دستورات استفاده کنند.
استفاده هوشمندانه از دستورات Artisan می تواند عملکرد برنامه شما را افزایش دهد. در زیر، ما چندین مورد از بهترین دستورات کش را که میتوانید استفاده کنید، فهرست کردهایم.
ذخیره سازی پیکربندی
تنظیمات کش یک دستور عالی برای افزایش سرعت است. تمام مقادیر پیکربندی برنامه شما را در یک فایل کامپایل می کند تا چارچوب بتواند سریعتر بارگذاری شود. تنها چیزی که نیاز دارید اجرا کردن است:
php artisan config:cache
توجه داشته باشید که نباید دستور config cache را در طول توسعه محلی اجرا کنید. این به این دلیل است که تنظیمات پیکربندی ممکن است نیاز به تغییر اغلب در طول توسعه برنامه شما داشته باشد.
برای پاک کردن کش تنظیمات، این دستور را اجرا کنید:
php artisan config:clear
نمایش ها در حافظه پنهان
کش مشاهده یکی دیگر از جنبه های برنامه است که حاوی یک کش است. view cache الگوهای Blade را ذخیره می کند تا سرعت پروژه شما را افزایش دهد. میتوانید از دستور artisan زیر برای کامپایل همه نماها به صورت دستی و بهینهسازی عملکرد استفاده کنید:
php artisan view:cache
به یاد داشته باشید که هنگام آپلود یک کد جدید، حافظه پنهان را پاک کنید. در غیر این صورت، لاراول از نماهای قدیمی شما استفاده خواهد کرد و شما زمان زیادی را صرف عیب یابی آن خواهید کرد. این دستور را برای پاک کردن کش view اجرا کنید:
php artisan view:clear
ذخیره سازی برنامه
این کش اصلی لاراول است. تمام داده هایی را که به صورت دستی کش می کنید در برنامه خود ذخیره می کند. استفاده از کش لاراول یک رویکرد هوشمند برای سرعت بخشیدن به داده های معمولی و بهینه سازی عملکرد لاراول است. اگر از برچسبها یا ذخیرهسازی حافظه پنهان چندگانه استفاده میکنید، میتوانید فقط عناصر خاصی از حافظه پنهان را پاک کنید.
در اینجا دستور artisan برای پاک کردن کش لاراول آمده است:
php artisan cache:clear
به خاطر داشته باشید که این دستور هیچ مسیر، پیکربندی یا مشاهده کش موجود در پوشه /bootstrap/cache/ را حذف نمی کند.
۵. کاهش استفاده از بسته ها
به عنوان یک چارچوب منبع باز با یک جامعه پرجمعیت، طبیعی است که بسته های منتشر شده بیشتر و بیشتر یا نسخه های جدید در بسته های موجود در لاراول را ببینیم. شما آزاد هستید که از آنها و ویژگی های آنها مستقیماً در برنامه خود استفاده کنید.
شما باید این بسته ها را در فایل composer.json قرار دهید. لاراول متعاقباً آنها را به همراه وابستگی هایشان نصب می کند.
با این وجود، چند فاکتور وجود دارد که باید قبل از افزودن بسته های جدید به هر برنامه ای در نظر گرفته شود. به عنوان مثال، همه آنها برای یک هدف طراحی نشده اند. برخی از بسته ها نیز برای انجام طیف وسیعی از عملکردها ایجاد شده اند.
وقتی بستههایی با وابستگیهای زیاد اضافه میکنید، اندازه برنامه افزایش مییابد و در نهایت عملکرد آن کاهش مییابد. به همین دلیل ضروری است که قبل از افزودن هر بسته، وابستگی ها را از نزدیک بررسی کنید.
۶. ارتقا به آخرین نسخه PHP
درست مانند هر بیت کد یا برنامه نرم افزاری دیگری، همیشه بهتر است نسخه PHP خود را به آخرین نسخه به روز کنید.
دلیل اصلی استفاده از نسخه به روز PHP امنیت است. به مدت دو سال، هر PHP منتشر شده وصله های امنیتی و رفع اشکال دریافت می کند. در صورت ادامه استفاده از نسخه های قبلی که دیگر نگهداری نمی شوند، سیستم شما ممکن است به خطر بیفتد.
همچنین ممکن است بسیاری از توسعه دهندگان ندانند که هر چه نسخه PHP قدیمی تر شود، عملکرد آن کندتر می شود. برای افزایش کارایی، نسخه فعلی PHP دارای بهبودهای عملکرد برجسته ای مانند اجرای سریعتر درخواست ها، enums، فیبرها و حافظه نهان ارثی است.
در آپکدرز، ما همیشه از آخرین نسخه اصلی PHP (۸/۱) برای همه محیطها استفاده میکنیم تا کاربران بتوانند از قابلیتهای گسترده این پلتفرم بهره ببرند و برنامههای خود را برای حداکثر سرعت و کارایی بهینه کنند.
۷. استفاده از صف (Queue)
بارگذاری وظایف کند در صف یک تکنیک ساده برای به حداکثر رساندن سریع سرعت برنامه لاراول شما است.
گاهی اوقات شما فوراً به اطلاعات موجود در UI نیاز ندارید. در این مورد، چنین کارهایی را می توان به تعویق انداخت و بعداً در پس زمینه با یک فرآیند جداگانه (به عنوان مثال ارسال ایمیل) اجرا کرد. این می تواند به طور قابل توجهی عملکرد درخواست های آنلاین برنامه شما را افزایش دهد.
لاراول از انواع درایورهای صف مانند IronMQ، Redis، Amazon SQS و Beanstalkd پشتیبانی می کند. علاوه بر این شامل یک صف کارگر داخلی است که می تواند با استفاده از دستور زیر اجرا شود:
php artisan queue:work
با استفاده از این روش می توانید یک کار جدید به صف اضافه کنید:
Queue::push('SendEmail', array('message' => $message));
اگر می خواهید اجرای یکی از کارهای در صف را به تعویق بیندازید از روش زیر و با استفاده از کربن عمل کنید. برای مثال، فرض کنید میخواهید کاری را برنامهریزی کنید که ۱۰ دقیقه پس از ایجاد حساب کاربری، ایمیلی برای مشتری ارسال کند:
$date = Carbon::now()->addMinutes(10);
Queue::later($date, 'SendEmail@send', array('message' => $message));
۸. ابزار استقرار (Deployment Tool) پشتیبانی کننده از همه دستورات
می دانیم که این نکته در رابطه با بهینهسازی عملکرد لاراول نیست، اما یک تکنیک فوق العاده برای صرفه جویی در زمان برای توسعه دهندگان است که به اندازه بهبود بهرهوری مهم است.
Deployer یک ابزار استقرار مبتنی بر PHP است که به شما امکان می دهد کد خود را در سرورهای مختلف مستقر کنید. این شامل اسکریپت هایی برای فریمورک های محبوب مانند Laravel، Symfony، Zend، Magento، CakePHP و غیره است.
اگر قبلاً برای مدیریت وابستگی های پروژه خود با Composer سروکار نداشتید، به سرعت با Deployer آشنا خواهید شد. از این ابزار برای خودکار کردن تمام عملیات استقرار دستگاه خود، مانند راهاندازی سرور، شبیهسازی به یک سرور راه دور و نظارت بر میزبان راه دور استفاده کنید.
Deployer تنظیماتی برای اجرای migrations، seedها و توابع بهینه سازی در برنامه های لاراول با یک دستور دارد:
php deployer.phar deploy production
۹. Lumen برای پروژههای کوچک
مواردی وجود دارد که توسعه یک برنامه کوچک (مثلاً برنامه های تلفن همراه یا Angular) نیازی به استفاده از یک چارچوب فول استک مانند لاراول ندارد. در این سناریو، به جای آن از Lumen استفاده کنید.
Lumen یک میکروفریمورک است که توسط همان خالق لاراول توسعه یافته است. مانند یک نسخه سبک تر از لاراول، Lumen تماماً در مورد سرعت و عملکرد میکروسرویس ها است. این نیاز به حداقل تنظیمات و پارامترهای مسیریابی جایگزین در هنگام ساخت برنامه های کاربردی وب دارد که امکان یک فرآیند توسعه سریعتر را فراهم می کند.
به عنوان مثال، Lumen می تواند ۱۰۰ درخواست در ثانیه را انجام دهد. همچنین میتوانید ابزارها یا بستههای اشخاص ثالث را برای دریافت ویژگیهای جدید ادغام کنید. علاوه بر این، Lumen از تمام پلتفرم ها پشتیبانی می کند و به شما امکان ارتقا به لاراول را می دهد.
۱۰. به کارگیری JIT Compiler
PHP یک زبان سمت سرور است که به مفسر نیاز دارد تا کد را به بایت کدی که کامپیوتر می تواند آن را بفهمد ترجمه کند.
این فرآیند زمان زیادی می برد و منابع زیادی را مصرف می کند. به همین دلیل است که برنامه نویسان به سراغ موتورهای اسکریپت نویسی مانند موتور Zend می روند تا زیر روال های C را اجرا کنند که باید هر بار که یک برنامه اجرا می شود تکرار شود، که باعث کند شدن برنامه شما می شود.
به منظور کارایی، توسعه دهندگان از کامپایلر فقط در زمان (JIT) برای تکرار آن رویه فقط یک بار استفاده می کنند. HHVM که اختراع شد و به طور گسترده توسط فیس بوک استفاده می شود، کامپایلر JIT ترجیحی برای لاراول است. Etsy، Wikipedia و ده ها سایت دیگر نیز از آن استفاده می کنند.
۱۱. استفاده از Eager Loading
برای تعامل لذت بخش با پایگاه های داده، لاراول یک نگاشت رابطه ای شی فوق العاده (ORM) به نام Eloquent ارائه می دهد. این ابزار شما را قادر می سازد تا جداول را به هم مرتبط کنید و با تمام توابع CRUD در PHP در قالبی ساده برخورد کنید.
وقتی مدلها را از پایگاه داده بازیابی میکنید و سپس هر نوع پردازشی را روی روابط آنها انجام میدهید، دادههای رابطه «Lazy Loading» میشوند. این بدان معنی است که تا زمانی که به رابطه دسترسی نداشته باشید، داده ها بارگذاری نمی شوند.
همانطور که در مثال زیر نشان داده شده است، پرس و جوهای N+1 را برای یافتن پاسخ خود با بارگذاری تنبل اجرا می کنید:
$books = AppBook::all();
foreach ($books as $book) {
echo $book->author->name;
}
برای بهینه سازی عملکرد لاراول و حل مشکل پرس و جو N+1، لاراول می تواند داده ها را با اشتیاق بارگذاری کند، همانطور که در زیر نشان داده شده است:
$books = AppBook::with('author')->get();
foreach ($books as $book) {
echo $book->author->name;
}
۱۲. فشرده سازی تصاویر
تصاویر نقش مهمی در طراحی سایت دارند. آنها برای افزایش تجربه کاربر (UX) و افزایش رتبه بندی جستجو ضروری هستند.
میانگین زمان بارگذاری یک وب سایت دو ثانیه است. تصاویر سنگین سرعت بارگذاری سایت را کاهش می دهد. اگر وب سایت کندی دارید، این احتمال وجود دارد که در نهایت بازدیدکنندگان زیادی را از دست بدهید.
فشرده سازی تصویر اندازه تصویر اصلی شما را بدون کاهش کیفیت آن به حداقل می رساند و به بهینه سازی سرعت سایت کمک می کند. به همین دلیل، لاراول گزینه های منظمی برای فشرده سازی عکس هایی مانند TinyPNG، reSmush.it یا ImageMin ارائه می دهد.
۱۳. استفاده از CDN
استفاده از یک شبکه تحویل محتوا (CDN) می تواند واقعاً عملکرد لاراول را بهینه کند. با بارگیری محتوای استاتیک از سرور CDN به جای مستقیم از دستگاهی که فایل های شما در آن میزبانی می شوند، داده ها با سرعت بیشتری به مخاطبان شما می رسد.
به عبارت دیگر، جدیدترین نسخه سایت شما را در یک شبکه جهانی از سرورهای ابری ذخیره می کند. بنابراین، حتی اگر بازدیدکنندگان شما از نظر جغرافیایی از مکان شما دور باشند، باز هم می توانند به سرعت به وب سایت شما دسترسی داشته باشند.
۱۴. کم حجمسازی کدهای JS و CSS
قبل از ادامه فرآیند بستهبندی دارایی (asset bundling)، با کوچک کردن فایلهای جاوا اسکریپت و CSS خود، عملکرد لاراول خود را افزایش دهید.
این مرحله کوچکسازی هرگونه کد غیرضروری مانند فضای خالی، نظرات و تغییر نام متغیرها با استفاده از نامهای کوتاه شده را از برنامه شما حذف میکند. در صورت لزوم، می توانید اندازه تصاویر خود را برای ایجاد تصاویر کوچک تغییر دهید.
در نتیجه، UX خود را بهبود میبخشید و همچنین تماسهای HTTP را کاهش میدهید.
۱۵. فشردهسازی و بستهبندی فایلها
چندین ابزار برای فشردهسازی و بستهبندی فایلهایی مانند جاوا اسکریپت و CSS در یک ابزار مانند Laravel Mix و Laravel Packer وجود دارد.
همه برنامه های لاراول به طور پیش فرض شامل Laravel Mix هستند. این یک API کاربرپسند است که برای ایجاد بیلدهای Webpack برای برنامه های PHP شما، با استفاده از طیف وسیعی از پیش پردازنده های رایج جاوا اسکریپت و CSS استفاده می شود.
با فرض اینکه به مجموعه خاصی از فرمت های سبک برای فایل برنامه خود نیاز دارید، می توانید چیزی شبیه به این را وارد کنید:
mix.styles([
'public/css/vendor/normalize.css',
'public/css/styles.css'
], 'public/css/all.css');
اکنون Laravel Mix یک فایل all.css را از فایل های normalize.css و style.css به صورت خودکار تولید می کند. بنابراین، به جای اینکه هر صفحه سبک را جداگانه دریافت کنید، می توانید آنها را در یک فایل all.css ترکیب کنید.
Laravel Packer یک ابزار خط فرمان است که می تواند از طریق Composer نصب شود. این به شما امکان می دهد کد JS و CSS خود را کاهش داده و بسته بندی کنید. با این حال، استفاده از آن دشوارتر از Laravel Mix است.
حتی اگر این نکته برای پمپاژ عملکرد لاراول عالی است، ادغام تعداد زیادی فایل آن را بزرگ میکند و در نهایت اثر معکوس خواهد داشت. برای حل این مشکل، از Laravel Mix برای کوچک کردن فایل های خود با اجرای این دستور استفاده کنید:
npm run prod
۱۶. محدود کردن کتابخانه ها
لاراول به شما این آزادی را می دهد که هر تعداد کتابخانه که می خواهید اضافه کنید. در حالی که این یک ویژگی عالی است، افزودن یک قایق از کتابخانه ها فشار زیادی بر عملکرد برنامه شما وارد می کند. همچنین می تواند کل تجربه کاربر را تحت تاثیر قرار دهد.
بنابراین اسکن تمام دادههای کتابخانههایی که در حال حاضر در کد استفاده میشوند، حیاتی است. می توانید این کتابخانه ها را در فایل config/app.php پیدا کنید. در حین بررسی کتابخانه ها، مواردی را که می دانید دیگر برای شما مفید نیستند حذف کنید.
همچنین ایده خوبی است که composer.json را برای وابستگی های غیر ضروری مرور کنید.
۱۷. استفاده از New Relic را در نظر بگیرید
New Relic یک ابزار مدیریت عملکرد برنامه (APM) است که توسط توسعه دهندگان در برنامه های Laravel خود یکپارچه شده است. برای تجزیه و تحلیل و نظارت بر آماری که عملکرد آنها را منعکس می کند برای بهینه سازی کارایی و جلوگیری از وقفه در زمان واقعی استفاده می شود.
New Relic می تواند به شما در ارزیابی امتیاز Apdex و اندازه گیری مقایسه برنامه شما با رقبای موجود در بازار کمک کند. همچنین شما را قادر می سازد تا سیاست های هشدار را بسته به معیارهای خود ایجاد کنید.
خلاصه
لاراول یک فریمورک PHP است که به سرعت در حال رشد است و آموزش های زیادی برای همه نوع کاربران وجود دارد تا لاراول را بدون در نظر گرفتن سطح دانش آنها یاد بگیرند.
وقتی صحبت از تجربه کاربر در دنیای دیجیتال به میان می آید، عملکرد یک عامل مهم برای ایجاد یک حضور آنلاین قوی است. جای تعجب نیست که سازمان ها زمان و منابع بیشتری را برای ارائه UX با کیفیت بالا اختصاص می دهند.
اگر توسعهدهنده لاراول هستید، میتوانید مطمئن باشید که با استفاده از روشهای ذکر شده در بالا، متوجه بهبود قابل توجهی در عملکرد خواهید شد و میتوانید یک برنامه نرمافزاری را اجرا کنید.
از چه روش های دیگری برای افزایش سرعت برنامه های لاراول خود استفاده کرده اید؟ در بخش نظرات زیر به ما اطلاع دهید.