Bạn đang tìm kiếm các cách thành công để tăng tốc hiệu suất Laravel trong khi làm việc với dự án của mình? Bạn đã đến đúng nơi!
Laravel là một khung công tác PHP mã nguồn mở phổ biến được biết đến với khả năng bảo mật mạnh mẽ và kiến trúc mã hóa đơn giản nhưng tinh vi. Đó là một lựa chọn tuyệt vời để xây dựng các ứng dụng web tiên tiến có khả năng thúc đẩy doanh thu và thúc đẩy doanh nghiệp phát triển.
Tuy nhiên, hiệu suất của Laravel có thể bị chậm nếu bạn không sử dụng các kỹ thuật tối ưu hóa phù hợp.
May mắn thay, có rất nhiều bản hack để tối đa hóa hiệu suất Laravel. Chúng tôi đã tổng hợp danh sách các mẹo tối ưu hóa hiệu quả nhất mà bạn có thể làm theo.
Tại sao tối ưu hóa hiệu suất Laravel lại quan trọng như vậy?
Các nhà phát triển phải hết sức chú ý đến hiệu suất của mọi ứng dụng Laravel trước khi phát hành để đảm bảo thành công của nó. Đó là một trong những phẩm chất mà một nhà phát triển Laravel nên có.
Tối ưu hóa hiệu suất Laravel bằng các lệnh và chỉnh sửa mã có thể giúp đạt được điều này và cũng có thể có ảnh hưởng lớn đến hiệu quả ứng dụng của bạn.
Laravel có chậm không?
Laravel là một khung công tác nhanh chóng đi kèm với một lượng lớn các tính năng và chức năng (ví dụ: Memcache, hỗ trợ cơ sở dữ liệu, Redis, v.v.) để trợ giúp về hiệu suất. Laravel cũng cho phép các chuyên gia phần mềm tạo ra mã mạnh với tương đối ít nỗ lực để đáp ứng các mục tiêu dự án lớn hay nhỏ của họ.
Vì dữ liệu được lưu trữ dưới dạng các cặp khóa-giá trị trong RAM của máy chủ, người dùng có thể lưu vào bộ nhớ cache tùy thích để duy trì các ứng dụng hoặc trang web của họ một cách nhanh chóng và mượt mà. Dựa trên Google Trend, Laravel hiện là công cụ phụ trợ phổ biến nhất cho PHP.

Laravel 9 được phát hành gần đây cung cấp các cải tiến hiệu suất mới. Ví dụ: nó có thông số kỹ thuật PHP tối thiểu và yêu cầu Symphony 6.0 chạy nhanh hơn 20,65% trên PHP 8.1. Thiết kế mới cho lệnh route: list giờ đây làm giảm chế độ xem lộn xộn của các lệnh phức tạp. Laravel 9 cũng bao gồm Giao diện trình tạo truy vấn hiệu quả hơn và nhiều tính năng khác.
Tuy nhiên, một số yếu tố góp phần vào hiệu suất Laravel chậm. Nhiều nhà phát triển có thói quen kém, chẳng hạn như tải lên một số lượng lớn hình ảnh nặng, sử dụng các phiên bản PHP cũ, biên dịch khối lượng lớn dữ liệu không cần thiết hoặc bỏ qua việc xóa các tệp không cần thiết khỏi dự án của họ.
Kiến trúc MVC PHP phức tạp của Laravel và các thư viện liên quan cung cấp sự kết hợp tuyệt vời giữa bảo mật, hiệu suất và khả năng sử dụng. Đó là lý do tại sao bạn nên tìm hiểu một số thủ thuật tối ưu hóa Laravel để đạt được hiệu suất cao hơn.
Các vấn đề về tốc độ trang web
Ấn tượng đầu tiên là ấn tượng lâu dài đối với bất kỳ hình ảnh thương hiệu nào. Tốc độ trang web là ấn tượng đầu tiên bạn tạo ra đối với khách truy cập trang web của bạn. Bạn có biết rằng khoảng 50% khách hàng trực tuyến từ bỏ các trang web mất hơn ba giây để tải?

Tốc độ trang web (hay còn gọi là hiệu suất trang web) đề cập đến lượng thời gian trình duyệt cần để tải các trang web hoạt động đầy đủ từ một trang web cụ thể. Do đó, nó có tác động trực tiếp đến trải nghiệm người dùng (UX) và tỷ lệ chuyển đổi.
Hiệu suất trang web cũng ảnh hưởng đến thứ hạng SEO của bạn trên các công cụ tìm kiếm. Nếu nhiều trang web cung cấp thông tin mà khách truy cập của bạn tìm kiếm, các trang web nhanh hơn sẽ xuất hiện đầu tiên. Nếu trang web của bạn hoạt động chậm chạp, nó sẽ ít có khả năng xếp hạng cao trong kết quả tìm kiếm của Google.
Theo đó, bạn nên đầu tư một chút thời gian vào việc áp dụng các giải pháp tối ưu hóa hiệu suất trang web hiệu quả.
Lợi ích của việc tối ưu hóa hiệu suất Laravel
Mặc dù bạn có thể đã thiết kế một ứng dụng Laravel tuyệt vời, nhưng luôn có chỗ để cải tiến để đạt đến sự hoàn hảo. Tăng hiệu suất Laravel của bạn có một số lợi ích:
- Thúc đẩy tăng trưởng kinh doanh: Hiệu suất Laravel được cải thiện có nghĩa là một trang web hoặc ứng dụng hiệu quả hơn. Do đó, cơ hội tiếp cận nhiều đối tượng hơn của bạn sẽ tăng lên.
- Môi trường phát triển mượt mà hơn: Các mẹo tối ưu hóa hiệu suất cho Laravel được liệt kê bên dưới giúp các nhà phát triển tiết kiệm nhiều thời gian hơn trong việc viết mã, thực thi các tác vụ nhanh hơn và tiêu thụ ít tài nguyên hơn.
- Xử lý lưu lượng truy cập tốt hơn: Học cách sử dụng khéo léo hệ thống hàng đợi Laravel sẽ giúp trang web của bạn quản lý số lượng yêu cầu khi nó phát triển và lấy một lượng lớn lưu lượng truy cập.
Cách đo Hiệu suất Laravel
Bạn đã dành rất nhiều thời gian và nỗ lực để làm cho ứng dụng web hấp dẫn của mình hoạt động, nhưng nếu nó chậm, sẽ không có ai sử dụng nó và bạn sẽ giống như một con gấu bị đau đầu. Đây là lúc thử nghiệm hiệu suất Laravel xuất hiện.
Bạn có thể sử dụng nhiều công cụ khác nhau để thực hiện kiểm tra hiệu suất đối với tác phẩm quý giá của mình. Chúng ta hãy nhìn vào ba trong số họ.
1. Blackfire.io

Blackfire.io là một trình biên dịch ứng dụng web trực quan xác định các đường dẫn cần thiết để bạn có thể tập trung vào các lĩnh vực quan trọng của ứng dụng PHP của mình.
Nó bao gồm nhiều tính năng giám sát hiệu suất và hiển thị mức sử dụng bộ nhớ, thời gian CPU, cũng như I / O. Blackfire.io cũng cho phép bạn sắp xếp các lệnh gọi hàm và đường dẫn để xem ứng dụng Laravel của bạn hoạt động như thế nào.
2. Laravel Dusk

Laravel Dusk cho phép bạn kiểm tra ứng dụng của mình và kiểm tra cách nó hoạt động từ quan điểm của người dùng. Bạn không cần cài đặt Selenium hoặc JDK để sử dụng Dusk vì nó bao gồm Chromedriver theo mặc định.
Với API thân thiện với nhà phát triển như Dusk, bạn có thể tự động kiểm tra trình duyệt, loại trừ nhu cầu về các quy trình nghiêm ngặt được yêu cầu riêng bởi ChromeDriver và PHP WebDriver.
Hơn nữa, Dusk lưu trữ ảnh chụp màn hình và đầu ra bảng điều khiển trình duyệt của thử nghiệm thất bại để bạn có thể tìm ra bất kỳ lỗi nào.
3. LoadForge

Được thiết kế riêng cho Laravel, LoadForge tự động quét trang web của bạn, xác định các vấn đề và cung cấp các biểu đồ toàn diện cùng với thống kê hiệu suất cho mọi trang.
Trong Chrome, LoadForge cho phép bạn nắm bắt các hành động của trình duyệt và sau đó chuyển đổi chúng thành một bài kiểm tra LoadForge. Bằng cách này, bạn sẽ có thể tạo trải nghiệm người dùng thực tế bằng cách mô phỏng họ đăng nhập, điều hướng trang web của bạn hoặc thậm chí đặt hàng.
Cách tối ưu hóa hiệu suất Laravel (17 phương pháp)
Trong phần này, chúng ta sẽ xem xét một số ý tưởng và chiến thuật tốt nhất với một chiếc lược răng thưa để giúp bạn cải thiện hiệu suất Laravel của mình.
1. Bộ nhớ đệm định tuyến
Bộ nhớ đệm định tuyến là một tính năng tuyệt vời, đặc biệt là đối với các ứng dụng có số lượng lớn cấu hình và các tuyến trải rộng trên mã. Đó là một nhóm các tuyến đường được đóng gói trong một lệnh duy nhất để giúp giảm bớt công việc tẻ nhạt trong việc lập biểu đồ các tuyến đường của bạn theo cách thủ công. Kết quả là các trang trên trang web của bạn sẽ tải nhanh hơn rất nhiều.
Bộ nhớ đệm định tuyến cho phép Laravel truy xuất các tuyến định kỳ từ bộ đệm được biên dịch trước thay vì phải bắt đầu từ đầu cho mỗi người dùng mới.
Sử dụng lệnh này để lưu vào bộ đệm dữ liệu định tuyến được yêu cầu:
php artisan route:cache
Hãy nhớ rằng bộ nhớ cache sẽ hết hạn khi người dùng rời khỏi trang web của bạn. Điều quan trọng là phải chạy lệnh bộ đệm ẩn định tuyến đó mỗi lần sau khi thực hiện các thay đổi cấu trúc (ví dụ: định tuyến tệp và cấu hình) cho trang web của bạn, vì bất kỳ sửa đổi nào được thực hiện sau đó sẽ không có hiệu lực.
Nếu bạn muốn xóa bộ đệm ẩn tuyến đường, hãy chạy lệnh sau:
php artisan route:clear
2. Tối ưu hóa trình soạn nhạc
Laravel sử dụng một công cụ riêng có tên là Composer để quản lý các phần phụ thuộc khác nhau. Khi bạn cài đặt Composer lần đầu, nó sẽ tải các phần phụ thuộc của nhà phát triển vào hệ thống của bạn theo mặc định.
Những phụ thuộc này rất hữu ích cho việc phát triển một trang web. Nhưng một khi trang web của bạn hoạt động hoàn toàn, chúng không còn cần thiết nữa và trên thực tế, chúng sẽ chỉ làm chậm nó.
Khi sử dụng Composer để cài đặt các gói, hãy sử dụng các tham số --no-dev
và -o
như sau để loại bỏ các phần phụ thuộc của dev:
composer install --prefer-dist --no-dev -o
Lệnh này cho phép Composer tạo một thư mục để tối ưu hóa trình tải tự động và tăng hiệu suất. Nó chỉ đơn giản là yêu cầu bản phân phối chính thức được truy xuất và đóng gói, không có sự phụ thuộc của nhà phát triển.
Hãy cẩn thận để không loại bỏ bất kỳ phụ thuộc thời gian chạy nào. Điều này có thể gây nguy hiểm cho hiệu suất trang web của bạn hoặc thậm chí gây ra sự cố.
3. Giảm dịch vụ tự động tải
Mục tiêu của Laravel là làm cho quá trình phát triển thuận lợi cho các nhà phát triển nhất có thể. Ví dụ: khi bạn khởi chạy Laravel, nó sẽ tự động tải một lượng lớn các nhà cung cấp dịch vụ được liệt kê trong tệp config / app.php để giúp bạn bắt đầu nhanh chóng với dự án của mình.
Mặc dù đây là một bước có lợi của Laravel, nhưng bạn sẽ không cần phải sử dụng tất cả các dịch vụ này để xây dựng một ứng dụng.
Lấy REST API làm ví dụ. Bạn không yêu cầu các dịch vụ như Nhà cung cấp dịch vụ Xem hoặc Nhà cung cấp dịch vụ phiên. Ngoài ra, nhiều nhà phát triển không tuân theo cài đặt khung mặc định. Bạn có thể đơn giản tắt các dịch vụ thừa theo nhu cầu của mình (ví dụ: Nhà cung cấp dịch vụ phân trang, Nhà cung cấp dịch vụ dịch, Nhà cung cấp dịch vụ xác thực, v.v.).
Bạn sẽ có thể cải thiện tốc độ của các ứng dụng Laravel của mình bằng cách áp dụng nguyên tắc tương tự cho các ứng dụng khác. Chỉ cần đảm bảo rằng bạn không xóa bất kỳ dịch vụ quan trọng nào và kiểm tra kỹ mọi thứ trước khi thả búa.
4. Sử dụng các lệnh Artisan và bộ nhớ cache một cách hiệu quả
Artisan là một công cụ dòng lệnh phổ biến đi kèm với Laravel. Nó giúp các nhà phát triển dễ dàng thực hiện các tác vụ định kỳ và phức tạp một cách tự động. Người tạo trang web cũng có thể sử dụng nó để tiến hành kiểm tra và tạo lệnh.
Sử dụng các lệnh Artisan một cách khéo léo có thể tăng hiệu suất ứng dụng của bạn. Dưới đây, chúng tôi đã liệt kê một số lệnh bộ nhớ đệm tốt nhất mà bạn có thể sử dụng.
Cấu hình Cache
Cache config là một lệnh tuyệt vời để tăng tốc độ. Nó biên dịch tất cả các giá trị cấu hình ứng dụng của bạn thành một tệp để khung có thể tải nhanh hơn. Tất cả những gì bạn cần là chạy:
php artisan config:cache
Lưu ý rằng bạn không nên thực thi lệnh cấu hình bộ đệm trong quá trình phát triển cục bộ. Điều này là do cài đặt cấu hình có thể cần được thay đổi thường xuyên trong suốt quá trình phát triển ứng dụng của bạn.
Để xóa bộ đệm cấu hình, hãy chạy lệnh sau:
php artisan config:clear
Lượt xem vào bộ nhớ đệm
Bộ nhớ cache dạng xem là một khía cạnh khác của ứng dụng có chứa bộ nhớ cache. Bộ nhớ cache của khung nhìn lưu trữ các mẫu Blade đã tạo để tăng tốc độ cho dự án của bạn. Bạn có thể sử dụng lệnh thủ công bên dưới để biên dịch tất cả các chế độ xem theo cách thủ công và tối ưu hóa hiệu suất:
php artisan view:cache
Hãy nhớ xóa bộ nhớ cache khi bạn tải lên mã mới; nếu không, Laravel sẽ sử dụng các khung nhìn cũ của bạn và bạn sẽ mất nhiều thời gian để khắc phục sự cố này. Chạy lệnh này để xóa bộ nhớ cache của chế độ xem:
Đăng kí để nhận thư mới
php artisan view:clear
Bộ nhớ đệm ứng dụng
Đây là bộ đệm chính trong Laravel. Nó lưu tất cả dữ liệu mà bạn lưu vào bộ nhớ cache theo cách thủ công trong ứng dụng của mình. Sử dụng bộ nhớ đệm của Laravel là một cách tiếp cận thông minh để tăng tốc dữ liệu thường được truy cập và tối ưu hóa hiệu suất của Laravel. Nếu bạn sử dụng thẻ hoặc nhiều bộ nhớ đệm, bạn chỉ có thể xóa một số phần tử nhất định của bộ đệm.
Đây là lệnh thủ công để xóa bộ nhớ cache Laravel:
php artisan cache:clear
Hãy nhớ rằng lệnh này sẽ không xóa bất kỳ tuyến đường, cấu hình hoặc xem bộ đệm nào nằm trong thư mục / bootstrap / cache /.
5. Giảm mức sử dụng gói
Là một khung công tác mã nguồn mở với một cộng đồng đông dân, việc ngày càng có nhiều gói được phát hành hoặc phiên bản mới trong các gói hiện có trong Laravel là điều hiển nhiên. Bạn có thể tự do sử dụng chúng và các tính năng của chúng trực tiếp trong ứng dụng của mình.
Bạn phải bao gồm các gói này trong tệp composer.json
. Sau đó, Laravel sẽ cài đặt chúng cùng với các phụ thuộc của chúng.
Tuy nhiên, có một số yếu tố cần được xem xét trước khi thêm gói mới vào bất kỳ ứng dụng nào. Chẳng hạn, chúng không được thiết kế cho cùng một mục đích. Một số gói cũng được tạo ra để thực hiện một loạt các chức năng.
Khi bạn bao gồm các gói có nhiều phụ thuộc, kích thước của ứng dụng sẽ tăng lên và hiệu suất của nó cuối cùng sẽ bị ảnh hưởng. Đó là lý do tại sao điều cần thiết là phải xem xét chặt chẽ các phần phụ thuộc trước khi thêm bất kỳ gói nào.
6. Nâng cấp lên phiên bản PHP mới nhất
Cũng giống như bất kỳ đoạn mã hoặc chương trình phần mềm nào khác, tốt nhất bạn nên cập nhật phiên bản PHP của mình lên phiên bản mới nhất.
Lý do chính để sử dụng phiên bản PHP cập nhật là bảo mật. Trong hai năm, mọi bản phát hành PHP đều nhận được các bản vá bảo mật và sửa lỗi. Hệ thống của bạn có thể bị nguy hiểm nếu bạn tiếp tục sử dụng các phiên bản trước đó không còn được duy trì.
Nhiều nhà phát triển cũng có thể không biết rằng phiên bản PHP càng cũ thì hiệu suất của nó càng chậm. Để tăng hiệu quả, bản phát hành PHP hiện tại có những cải tiến hiệu suất vượt trội như thực thi nhanh hơn các yêu cầu, enum, sợi và bộ nhớ cache kế thừa.
Ở đây tại Kinsta, chúng tôi sử dụng phiên bản PHP chính mới nhất (PHP 8.1) cho tất cả các môi trường để người dùng có thể hưởng lợi từ các khả năng mở rộng của nền tảng và tối ưu hóa ứng dụng của họ để có tốc độ và hiệu quả tối đa.
7. Sử dụng hàng đợi
Chuyển tải các tác vụ chậm chạp cho một công việc hàng đợi là một kỹ thuật đơn giản để nhanh chóng tối đa hóa tốc độ của ứng dụng Laravel của bạn.
Đôi khi bạn không cần thông tin trong giao diện người dùng ngay lập tức. Trong trường hợp này, các tác vụ như vậy có thể bị hoãn lại và chạy trong nền sau đó bằng một quy trình riêng (ví dụ: gửi email). Điều này có thể làm tăng đáng kể hiệu suất của các yêu cầu trực tuyến trong ứng dụng của bạn.
Ví dụ về việc sử dụng hàng đợi để gửi email (Nguồn ảnh: GeekFlare)
Laravel hỗ trợ nhiều trình điều khiển hàng đợi như IronMQ, Redis, Amazon SQS và Beanstalkd. Nó cũng bao gồm một công nhân hàng đợi tích hợp có thể được thực thi bằng cách sử dụng lệnh sau:
php artisan queue:work
Bạn có thể thêm một công việc mới vào hàng đợi bằng cách sử dụng phương pháp này:
Queue::push('SendEmail', array('message' => $message));
Sử dụng phương pháp bên dưới thông qua Carbon nếu bạn muốn trì hoãn việc thực hiện một trong những công việc đã được xếp hàng đợi. Ví dụ: giả sử bạn muốn lên lịch công việc sẽ gửi email cho khách hàng 10 phút sau khi họ tạo tài khoản:
$date = Carbon::now()->addMinutes(10); Queue::later($date, '[email protected]', array('message' => $message));
8. Sử dụng Công cụ triển khai để kháng nghị tất cả các lệnh
Được rồi, chúng tôi nhận thấy rằng đây không phải là một mẹo hiệu suất thuần túy cho Laravel, nhưng đó là một kỹ thuật tiết kiệm thời gian tuyệt vời cho các nhà phát triển, điều quan trọng không kém đối với việc cải thiện năng suất.
Deployer là một công cụ triển khai dựa trên PHP cho phép bạn triển khai mã của mình đến các máy chủ khác nhau. Nó bao gồm các tập lệnh cho các khuôn khổ phổ biến, chẳng hạn như Laravel, Symfony, Zend, Magento, CakePHP, v.v.
Nếu trước đây bạn không giao dịch với Composer để quản lý các phần phụ thuộc dự án của mình, bạn sẽ nhanh chóng làm quen với Deployer. Sử dụng công cụ này để tự động hóa tất cả các hoạt động triển khai máy của bạn, chẳng hạn như khởi chạy máy chủ, sao chép vào máy chủ từ xa và giám sát máy chủ từ xa.
Người triển khai có các cài đặt để thực hiện các chức năng di chuyển, hạt giống và tối ưu hóa trong các ứng dụng Laravel bằng một lệnh duy nhất:
php deployer.phar deploy production
9. Sử dụng Lumen cho các dự án nhỏ
Đôi khi việc phát triển một ứng dụng nhỏ (ví dụ như ứng dụng dành cho thiết bị di động hoặc Angular) không yêu cầu sử dụng full-stack framework như Laravel. Trong trường hợp này, hãy xem xét sử dụng Lumen thay thế.
Lumen là một microframework được phát triển bởi cùng một người tạo ra Laravel. Giống như một phiên bản nhẹ hơn của Laravel, Lumen là tất cả về tốc độ và hiệu suất cho các dịch vụ vi mô. Nó yêu cầu cài đặt tối thiểu và các thông số định tuyến thay thế khi xây dựng ứng dụng web, cho phép quá trình phát triển nhanh hơn.
Ví dụ, Lumen có thể xử lý 100 yêu cầu mỗi giây. Bạn cũng có thể tích hợp các công cụ hoặc gói từ bên thứ ba để có được các tính năng mới. Hơn nữa, Lumen hỗ trợ tất cả các nền tảng và cho phép bạn nâng cấp lên Laravel.
10. Trình biên dịch JIT đòn bẩy
PHP là một ngôn ngữ phía máy chủ yêu cầu thông dịch viên dịch mã thành một mã bytecode mà máy tính có thể hiểu được.
Quá trình này mất rất nhiều thời gian và tiêu tốn nhiều tài nguyên. Đó là lý do tại sao các lập trình viên sử dụng các công cụ viết kịch bản như công cụ Zend để thực thi các chương trình con C phải được lặp lại mỗi khi một ứng dụng được thực thi, điều này làm chậm ứng dụng của bạn.
Vì lợi ích của hiệu quả, các nhà phát triển sử dụng trình biên dịch just-in-time (JIT) để lặp lại quy trình đó chỉ một lần. HHVM, được phát minh và được sử dụng rộng rãi bởi Facebook, là trình biên dịch JIT ưa thích cho Laravel. Etsy, Wikipedia và hàng chục trang khác cũng sử dụng nó.
11. Tận dụng tính năng tải hứng thú
Để tương tác với cơ sở dữ liệu một cách thú vị, Laravel cung cấp một trình ánh xạ quan hệ đối tượng (ORM) tuyệt vời được gọi là Eloquent. Nó cho phép bạn liên kết các bảng và xử lý tất cả các hàm CRUD trong PHP ở một định dạng đơn giản.
Khi bạn truy xuất các mô hình từ cơ sở dữ liệu và sau đó thực hiện bất kỳ kiểu xử lý nào trên các mối quan hệ của chúng, dữ liệu mối quan hệ sẽ được “tải chậm”. Điều này có nghĩa là dữ liệu không được tải cho đến khi bạn truy cập vào mối quan hệ.
Bạn sẽ phải chạy N + 1 truy vấn để tìm phản hồi của mình khi tải chậm, như được minh họa trong ví dụ sau:
$books = AppBook::all(); foreach ($books as $book) { echo $book->author->name; }
Để tối ưu hóa hiệu suất Laravel và giải quyết vấn đề truy vấn N + 1, Laravel có thể “tải nhanh” dữ liệu như hình dưới đây:
$books = AppBook::with('author')->get(); foreach ($books as $book) { echo $book->author->name; }
12. Nén hình ảnh
Hình ảnh đóng một phần quan trọng trong thiết kế trang web. Chúng rất cần thiết để nâng cao trải nghiệm người dùng (UX) và tăng thứ hạng tìm kiếm.
Thời gian tải trung bình của một trang web là hai giây. Hình ảnh nặng làm giảm tốc độ tải của trang web. Nếu bạn có một trang web chậm, rất có thể bạn sẽ mất nhiều khách truy cập.
Nén hình ảnh giảm thiểu kích thước của hình ảnh gốc của bạn mà không làm giảm chất lượng của nó, giúp tối ưu hóa tốc độ trang web. Vì lý do này, Laravel cung cấp các tùy chọn nén ảnh gọn gàng như TinyPNG, reSmush.it hoặc ImageMin.
13. Sử dụng CDN
Sử dụng mạng phân phối nội dung (CDN) có thể thực sự tối ưu hóa hiệu suất Laravel. Bằng cách tải nội dung tĩnh từ máy chủ CDN thay vì trực tiếp từ máy mà tệp của bạn được lưu trữ, dữ liệu tiếp cận đối tượng của bạn nhanh hơn.
Nói cách khác, nó lưu trữ phiên bản gần đây nhất của trang web của bạn vào một mạng lưới máy chủ đám mây toàn cầu. Do đó, ngay cả khi khách truy cập của bạn ở cách xa vị trí của bạn về mặt địa lý, họ vẫn có thể truy cập trang web của bạn một cách nhanh chóng.
Kinsta CDN được cung cấp bởi Cloudflare và được cung cấp miễn phí. Nó cho phép các tệp được lưu trong bộ nhớ cache của trang web của bạn được phân phối từ miền chính của bạn thay vì miền CDN phụ, giúp tăng xếp hạng SEO của bạn.
Kinsta CDN cũng hỗ trợ xóa các thành phần không mong muốn khỏi các tệp JavaScript (JS) và CSS của bạn. Điều này làm giảm đáng kể thời gian tải các trang trên trang web của bạn và giảm tiêu thụ băng thông.
14. Giảm thiểu mã JS và CSS
Hãy tạo động lực để tăng hiệu suất Laravel của bạn bằng cách giảm thiểu các tệp JavaScript và CSS của bạn trước khi tiếp tục quá trình đóng gói nội dung.
Bước rút gọn này sẽ xóa mọi mã không cần thiết khỏi ứng dụng của bạn như khoảng trắng, nhận xét và đổi tên biến bằng cách sử dụng tên rút gọn. Nếu cần, bạn có thể thay đổi kích thước hình ảnh của mình để tạo hình thu nhỏ.
Do đó, bạn sẽ cải thiện UX của mình đồng thời giảm các cuộc gọi HTTP.
15. Gói tài sản sử dụng lao động
Có một số công cụ có sẵn để nén và gói các tệp như Javascript và CSS thành một công cụ duy nhất như Laravel Mix và Laravel Packer.
Tất cả các ứng dụng Laravel đều bao gồm Laravel Mix theo mặc định. Đó là một API thân thiện với người dùng được sử dụng để tạo các bản dựng Webpack cho các ứng dụng PHP của bạn, sử dụng một loạt các bộ tiền xử lý JavaScript và CSS phổ biến.
Giả sử bạn yêu cầu một bộ sưu tập các định dạng kiểu nhất định cho tệp ứng dụng của mình, bạn có thể nhập một cái gì đó như sau:
mix.styles([ 'public/css/vendor/normalize.css', 'public/css/styles.css' ], 'public/css/all.css');
Bây giờ, Laravel Mix sẽ tự động tạo tệp all.css
từ tệp normalize.css
và style.css
. Do đó, thay vì nhận từng biểu định kiểu riêng biệt, bạn có thể kết hợp chúng thành một tệp all.css duy nhất.
Laravel Packer là một công cụ dòng lệnh có thể được cài đặt thông qua Composer. Nó cho phép bạn giảm và đóng gói mã JS và CSS của mình. Tuy nhiên, nó khó sử dụng hơn Laravel Mix.
Mặc dù mẹo này rất tốt để tăng hiệu suất Laravel, việc hợp nhất nhiều tệp sẽ khiến nó trở nên khổng lồ và cuối cùng có tác dụng ngược lại. Để giải quyết vấn đề này, hãy sử dụng Laravel Mix để thu nhỏ tệp của bạn bằng cách chạy lệnh sau:
npm run prod
16. Giới hạn Thư viện Bao gồm
Laravel cho phép bạn tự do thêm nhiều thư viện tùy thích. Mặc dù đây là một tính năng tuyệt vời, nhưng việc thêm một khối lượng thư viện sẽ gây áp lực lên hiệu suất ứng dụng của bạn. Nó cũng có thể ảnh hưởng đến toàn bộ trải nghiệm người dùng.
Do đó, điều quan trọng là phải quét tất cả dữ liệu của thư viện hiện đang được sử dụng trong mã. Bạn có thể tìm thấy các thư viện này trong config/app.php file
. Trong khi kiểm tra các thư viện, hãy loại bỏ những thư viện mà bạn biết là không còn hữu ích cho bạn.
Bạn cũng nên xem xét composer.json
để biết các phụ thuộc không cần thiết.
17. Cân nhắc Sử dụng Di tích Mới
New Relic là một công cụ quản lý hiệu suất ứng dụng (APM) được các nhà phát triển tích hợp trong ứng dụng Laravel của họ. Nó được sử dụng để phân tích và theo dõi số liệu thống kê phản ánh hiệu suất của chúng để tối ưu hóa hiệu quả và tránh gián đoạn trong thời gian thực.
Relic mới có thể hỗ trợ bạn đánh giá điểm Apdex và đo lường ứng dụng của bạn so với các đối thủ cạnh tranh trên thị trường như thế nào. Nó cũng cho phép bạn tạo các chính sách cảnh báo tùy thuộc vào tiêu chí của bạn.
Nếu bạn không muốn đăng ký dịch vụ của bên thứ ba, bạn có thể sử dụng công cụ APM của Kinsta. Nó có thể hỗ trợ bạn tìm các nút thắt hiệu suất PHP trên trang WP của bạn mà không phải trả thêm phí.
Bản tóm tắt
Laravel là một khung công tác PHP đang phát triển nhanh chóng và có rất nhiều hướng dẫn dành cho mọi loại người dùng để học Laravel bất kể trình độ kiến thức của họ.
Khi nói đến trải nghiệm người dùng trong thế giới kỹ thuật số, hiệu suất là một yếu tố quan trọng để thiết lập sự hiện diện trực tuyến mạnh mẽ. Không có gì ngạc nhiên khi các tổ chức đang dành nhiều thời gian và nguồn lực hơn để cung cấp trải nghiệm người dùng chất lượng cao.
Nếu bạn là nhà phát triển Laravel, bạn có thể tự tin rằng bằng cách sử dụng các phương pháp nêu trên, bạn sẽ nhận thấy sự cải thiện đáng kể về hiệu suất và có thể duy trì ứng dụng chạy mượt mà.
Bạn đã sử dụng những phương pháp nào khác để tăng tốc ứng dụng Laravel của mình? Cho chúng tôi biết trong phần ý kiến dưới đây.
Tiết kiệm thời gian, chi phí và tối đa hóa hiệu suất trang web với:
- Trợ giúp tức thì từ các chuyên gia lưu trữ WordPress, 24/7.
- Tích hợp Cloudflare Enterprise.
- Tiếp cận khán giả toàn cầu với 34 trung tâm dữ liệu trên toàn thế giới.
- Tối ưu hóa với Giám sát Hiệu suất Ứng dụng được tích hợp sẵn của chúng tôi.
Tất cả những điều đó và hơn thế nữa, trong một kế hoạch không có hợp đồng dài hạn, hỗ trợ di chuyển và đảm bảo hoàn tiền trong 30 ngày. Kiểm tra các kế hoạch của chúng tôi hoặc nói chuyện với bộ phận bán hàng để tìm ra kế hoạch phù hợp với bạn.