19 Mẹo Tối Ưu Hiệu Suất Laravel Giúp Nâng Cao Ứng Dụng Của Bạn
Trong bài viết này, chúng ta sẽ khám phá 19 mẹo quan trọng có thể cải thiện đáng kể hiệu suất của ứng dụng Laravel của bạn. Mỗi mẹo được giải thích chi tiết để bạn dễ dàng áp dụng vào dự án của mình.
1. Sử Dụng ServBay Để Tăng Cường Hiệu Quả Phát Triển
ServBay là một công cụ quản lý môi trường phát triển tích hợp dành cho các nhà phát triển, giúp đơn giản hóa việc thiết lập và duy trì môi trường phát triển. Với khả năng hỗ trợ nhiều ngôn ngữ lập trình và cơ sở dữ liệu như PHP, Node.js, MariaDB và PostgreSQL, ServBay cho phép bạn linh hoạt chọn công nghệ theo nhu cầu của dự án. Công cụ này cũng hỗ trợ tên miền tùy chỉnh và tự động tạo chứng chỉ SSL miễn phí, tăng cường bảo mật trong quá trình phát triển.
2. Lưu Cache Đường Dẫn
Laravel cung cấp chức năng lưu cache đường dẫn, giúp cải thiện tốc độ yêu cầu. Bạn có thể thực hiện lệnh sau để lưu cache:
php artisan route:cache
Bằng cách này, tất cả các đường dẫn sẽ được lưu vào tệp routes.php
, làm giảm đáng kể thời gian phân tích đường dẫn ở các ứng dụng lớn. Để xóa cache, sử dụng:
php artisan route:clear
3. Sử Dụng Các Lệnh Artisan Một Cách Hiệu Quả
Sử dụng các lệnh Artisan để lưu cache cấu hình và đường dẫn, giúp cải thiện hiệu suất của ứng dụng. Chạy các lệnh:
php artisan config:cache
php artisan route:cache
Để xóa cache, dùng:
php artisan config:clear
Việc này giảm thiểu thời gian đọc tệp không cần thiết mỗi lần có yêu cầu.
4. Lưu Cache Cấu Hình
Tối ưu hóa cấu hình bằng cách lưu cache các cấu hình thông qua lệnh Artisan sẽ giảm thời gian khởi động ứng dụng. Hãy chạy lệnh sau:
php artisan config:cache
Để làm mới cấu hình, chạy lại lệnh trên. Để xóa cache, sử dụng:
php artisan config:clear
5. Lấy Dữ Liệu Trực Tiếp
Sử dụng phương thức with
của Eloquent để tải trước dữ liệu và tránh vấn đề N+1 query. Ví dụ:
$books = Book::with('author')->get();
Cách này cho phép bạn thu thập dữ liệu cần thiết trong một truy vấn duy nhất.
6. Tối Ưu Composer
Khi triển khai ứng dụng, hãy sử dụng lệnh tối ưu hóa Composer để loại bỏ các phụ thuộc phát triển không cần thiết. Chạy lệnh:
composer install --prefer-dist --no-dev -o
Việc này giúp giảm kích thước mã và thời gian tải của ứng dụng.
7. Nén Cấu Hình Ràng Buộc
Sử dụng Laravel Mix để nén và gộp các tệp CSS và JS, cùng với việc loại bỏ CSS không sử dụng bằng laravel-mix-purgecss
sẽ cải thiện tốc độ tải trang trang.
8. Sử Dụng Hàng Đợi
Chuyển các thao tác tốn thời gian như gửi email hoặc xử lý hình ảnh vào hàng đợi để cải thiện trải nghiệm người dùng. Laravel hỗ trợ nhiều trình điều khiển hàng đợi, cho phép xử lý bất đồng bộ hiệu quả hơn.
9. Trình Điều Khiển Cache hoặc Phiên Nhanh
Sử dụng Memcached hoặc Redis để cải thiện hiệu suất ứng dụng bằng cách giảm tải cho cơ sở dữ liệu và tăng tốc độ truy cập dữ liệu.
10. Tạo Chỉ Mục Cơ Sở Dữ Liệu
Tạo chỉ mục trên các bảng cơ sở dữ liệu để cải thiện tốc độ truy xuất dữ liệu. Ví dụ:
Schema::create('users', function (Blueprint $table) {
$table->string('email')->index();
});
11. Tận Dụng Trình Biên Dịch JIT
Sử dụng trình biên dịch Just-In-Time (JIT) của PHP 8 trở lên sẽ giúp bạn tận dụng tốc độ thực thi nhanh hơn và tiêu thụ bộ nhớ thấp hơn, nâng cao hiệu suất ứng dụng.
12. Nén Ảnh
Sử dụng các công cụ như TinyPNG để nén ảnh, giúp giảm kích thước tệp và cải thiện tốc độ tải trang, đặc biệt là trên các thiết bị di động.
13. Sử Dụng Lưu Cache Giao Diện
Laravel cho phép lưu cache giao diện để giảm thời gian kết xuất cho mỗi yêu cầu, từ đó cải thiện tốc độ phản hồi.
14. Xóa Các Dịch Vụ Không Sử Dụng
Kiểm tra và xóa các nhà cung cấp dịch vụ không cần thiết trong tệp config/app.php
để giảm tải cho quá trình khởi động ứng dụng.
15. Sử Dụng CDN
Lưu trữ các tài nguyên tĩnh như CSS, JS và hình ảnh trên Mạng Phân Phối Nội Dung (CDN) giúp tăng tốc độ tải tài nguyên trang web.
16. Sử Dụng Laravel Horizon
Nếu bạn sử dụng hàng đợi, hãy cân nhắc sử dụng Laravel Horizon để theo dõi các worker hàng đợi, với một bảng điều khiển trực quan giúp kiểm soát hiệu suất.
17. Theo Dõi và Phân Tích Hiệu Suất
Sử dụng các công cụ như Laravel Telescope, New Relic để theo dõi hiệu suất ứng dụng giúp phát hiện các nút thắt cổ chai và tối ưu.
18. Tối Ưu Truy Vấn Cơ Sở Dữ Liệu
Tránh sử dụng select *
mà hãy chỉ định các trường cần thiết để giảm khối lượng dữ liệu truyền tải. Ví dụ:
$users = User::select('id', 'name', 'email')->get();
19. Xóa Cache Định Kỳ
Định kỳ xóa cache và các dữ liệu phiên để đảm bảo hệ thống hoạt động trơn tru. Sử dụng các lệnh sau:
php artisan cache:clear
php artisan view:clear
php artisan config:clear
Bằng cách thực hiện những mẹo trên, bạn có thể cải thiện đáng kể hiệu suất ứng dụng Laravel của mình, từ đó nâng cao trải nghiệm người dùng và hiệu quả làm việc của đội ngũ phát triển.
source: viblo