Seiring berjalannya waktu, framework laravel sudah menjadi sangat populer bagi para programmer website. Khususnya yang berkecimpung di dunia pemrograman backend. Show
Laravel sudah digunakan untuk membuat berbagai macam sistem, dan aplikasi berbasis website. Mulai dari yang sederhana seperti Todo List, sampai aplikasi berbasis ERP pernah dibuat menggunakan framework Laravel. Kenapa Proses Bisnis Harus Fokus pada Pengoptimalan Kinerja Laravel ?Struktur dari framework Laravel, dan libraries atau package yang saling terkait memberikan kenyamanan bagi para developer untuk membuat berbagai fitur dengan effort yang minim. Performance dan Optimization adalah dua faktor kunci untuk menentukan kelancaran suatu Bisnis Aplikasi. Dalam hal ini, memastikan performa dari aplikasi Laravel adalah skill yang krusial yang harus dimiliki setiap programmer ketika mengerjakan project dari klien. Karena Laravel sering kali digunakan untuk membuat Sistem berbasis Informasi, performa dari framework Laravel sangat berpengaruh terhadap kelancaran sebuah sistem aplikasi. Dalam banyak kasus, sistem manajemen informasi yang memberikan dukungan pengambilan keputusan kepada lapisan manajemen harus cepat dan berkinerja tinggi setiap saat. Tips to Improve Laravel Performance
18. Menggunakan Stack Untuk Meningkatkan Performa 19. Kesimpulan 1. Config CachingLaravel menyediakan command yang sangat menarik, Artisan cache config ini sangat membantu untuk meningkatkan performa. Untuk menggunakannya, bisa menjalankan perintah: php artisan config:cache Saat menjalankannya pertama kali, tidak akan terlihat pengaruhnya. Jika kamu akan me-refresh config, jalankan perintah diatas sekali lagi. Untuk menghapus cache, bisa menjalankan perintah berikut: php artisan config:clear 2. Route CachingRoute caching adalah fitur pengoptimalan yang penting. Terutama, untuk aplikasi yang memiliki banyak route dan config. Cache dari route ini adalah sebuah array yang membantu mempercepat performa dari Laravel, karena performa yang lebih cepat dalam memuat sebuah array. Untuk menjalankannya jalankan perintah: php artisan route:cache ! Perlu diingat untuk menjalankan perintah ini, setiap kali ada perubahan di php artisan config:clear 5 atau file php artisan config:clear 6 dari Laravel. Sebaliknya, Laravel akan memuat perubahan yang paling baru. Untuk menghapus cache, gunakan perintah berikut:php artisan route:clear 3. Menghapus service yang tidak terpakaiUntuk pengoptimalan performa dari Laravel, salah satu point pentingnya adalah tidak me-load semua service dari php artisan config:clear 5. Maka dari itu, Selalu ingat untuk menonaktifkan php artisan config:clear 8 di dalam file php artisan config:clear 5 yang tidak terpakai.Bisa ditambahkan comment agar tidak lupa. 4. Classmap OptimizationBahkan, aplikasi Laravel tingkat menengah sekalipun memiliki sudah memiliki file yang tidak sedikit karena Laravel mempunyai ‘habit’ atau kebiasaan memangggil semua file yang ter ‘include’ dalam sebuah request. Ada sebuah trik sederhana untuk menyertakan semua file yang ter’include’ kedalam sebuah file. Jadi, untuk semua request, hanya akan memuat satu file saja. Untuk menjalankannya gunakan perintah ini: php artisan optimize --force 5. Composer Optimize AutoloadIde yang bagus juga, untuk men’scan’ aplikasi Laravel kita menggunakan Composer dan membuat sebuah relasi satu-ke-satu dari semua class dan file yang ada. Gunakan perintah berikut: composer dumpautoload -o 6. Membatasi Library Yang AdaHal yang baik dari Laravel adalah banyaknya php artisan route:cache 0 yang dapat disertakan dalam suatu aplikasi. Meskipun ini adalah hal yang baik, sisi negatifnya adalah tingkat hambatan yang tinggi yang dialami aplikasi dan performa keseluruhan yang melambat.Inilah sebabnya mengapa penting untuk meninjau semua php artisan route:cache 0 yang dipanggil kembali dalam kode. Jika Anda merasa bisa melakukannya tanpa php artisan route:cache 0, hapus dari config/app.php untuk mempercepat aplikasi Laravel. Tempat penting lainnya untuk dilihat adalah composer.json.7. JIT CompilerMenerjemahkan kode PHP ke bytecode dan kemudian mengeksekusinya adalah proses resource-intensive. Inilah sebabnya mengapa perantara seperti Zend Engine diperlukan untuk menjalankan subroutine C. Proses ini harus diulang setiap kali aplikasi dijalankan. Untuk memangkas waktu, maka proses ini harus diulang sekali saja. Di sinilah kompiler Just-in-Time (JIT) terbukti sangat berguna. Untuk aplikasi Laravel, kompiler JIT yang direkomendasikan adalah HHVM oleh Facebook. 8. Memilih Cache dan Session Driver yang lebih cepatUntuk penyetelan kinerja Laravel yang optimal, jalan terbaik adalah menyimpan bagian cache dan session di RAM. Saya percaya cache dan driver session tercepat untuk kinerja Laravel adalah Memcached. Pengaturan driver untuk mengubah driver session biasanya terletak di app/config/session.php. Demikian juga, kunci driver untuk mengubah driver cache terletak di app/config/cache.php 9. Membuat Cache dari hasil QueryCaching hasil kueri yang sering dijalankan adalah cara yang bagus untuk meningkatkan kinerja Laravel. Untuk ini, saya merekomendasikan php artisan route:cache 3 php artisan route:cache 4, yang digunakan sebagai berikut:$posts = Cache::remember('index.posts', 30, function() { 10. Mengunakan “Eager Loading” untuk setiap DataLaravel menawarkan ORM yang bagus untuk menangani database. Yang dikenal sebagai Eloquent, ia menciptakan model yang mengabstraksi tabel database dari developer lain. Menggunakan struktur sederhana, developer dapat menggunakan Eloquent untuk menangani semua operasi CRUD di PHP. Ketika Eloquent menggunakan php artisan route:cache 5, ia mengambil semua model objek terkait sebagai respons terhadap php artisan route:cache 6. Ini menambah respons aplikasi. Mari kita bandingkan php artisan route:cache 7dan php artisan route:cache 5://asumsi di table product_detail ada 16 row//Lazy loading 11. Precompile AssetsUntuk penyetelan aplikasi Laravel, developer sering mendistribusikan kode ke dalam file-file terpisah. Meskipun ini membuat kode tetap bersih dan dapat dikelola, ini tidak berkontribusi pada produksi yang efisien. Untuk membantu pengembang dalam konteks ini, Laravel menyediakan perintah sederhana: php artisan optimize 12. Gunakan CDN untuk mengirim Static AssetsMemuat file aset statis dari server CDN (berlawanan dengan memuatnya langsung dari server yang menghosting file) akan meningkatkan kinerja aplikasi Laravel. Setelah klien mengunjungi situs, sebagian informasi disajikan dari area CDN terdekat. Hasil ini adalah kecepatan tumpukan halaman yang pada dasarnya cepat dan hal yang sangat berguna bagi klien. Ini berarti Anda harus mengkarakterisasi sumber daya statis (JS, CSS, HTML, gambar, rekaman, dan keaktifan, dan sebagainya.) pada aplikasi tertentu. 13. Asset BundlingLaravel Mix hadir secara default dalam aplikasi Laravel. Menggunakan beberapa praprosesor CSS dan JavaScript yang umum, Laravel Mix menyediakan API yang efektif untuk mendefinisikan pembuatan Webpack untuk aplikasi PHP Anda. Untuk mengkompilasi aset aplikasi termasuk skrip, style, dan lainnya, saya akan menggunakan Laravel Mix untuk kompilasi. Dengan itu, kita dapat menggabungkan beberapa stylesheet secara efisien ke dalam satu file. mix.styles([ Ini akan membuat sebuah file php artisan route:cache 9 yang berisi style dari php artisan route:clear 0 dan php artisan route:clear 1. Dengan cara ini, kita dapat menggunakan php artisan route:cache 9 dalam HTML kita dengan mudah, daripada memasukkan php artisan route:clear 0 dan php artisan route:clear 1 satu per satu. Ini, pada saatnya, akan mengurangi jumlah permintaan HTTP yang diperlukan untuk mengambil file-file ini satu per satu. Karena sekarang hanya membutuhkan satu permintaan, bukan dua untuk mengambil file. Dan sebagai hasilnya, kita akan melihat sedikit peningkatan dalam kecepatan aplikasi kami.14. Asset MinifyingMengkompilasi semua aset di satu tempat mungkin berakhir dengan file berukuran besar. Akibatnya, praktik ini tidak akan menjadikan aplikasi kita untuk merasakan manfaatnya dari kompilasi yang diterapkan. Oleh karena itu untuk mengatasi masalah ini, kita dapat mengecilkan aset kita menggunakan Laravel Mix. Gunakan perintah berikut: php artisan config:clear 0Ini akan menjalankan semua taxes dari Laravel Mix dan memastikan aset kita siap untuk production dengan mengecilkannya. Setelah diperkecil, aset akan menjadi lebih kecil ukurannya, sehingga akan dimuat lebih cepat, yang akan mempercepat kinerja aplikasi kita. 15. Menjalankan versi terbaru dari PHPVersi terbaru PHP telah membawa peningkatan signifikan dalam kinerjanya. Oleh karena itu, pastikan aplikasi Laravel Anda menjalankan PHP versi terbaru sehingga Anda dapat memanfaatkan semua peningkatan kinerja yang diperkenalkan dalam versi baru di aplikasi Anda. 16. Mengunakan Laravel DebugbarMeskipun bukan teknik optimasi, tetapi sebuah php artisan route:clear 5. Laravel Debugbar adalah paket untuk mengintegrasikan PHP Debug Bar dengan Laravel. Ini termasuk php artisan route:clear 6 untuk mendaftarkan debugbar dan melampirkannya ke output. Ini adalah paket yang dapat digunakan sebagai monitor kinerja Laravel. Disarankan untuk menggunakan paket ini saat mengembangkan aplikasi Anda. Karena dengan itu, Anda dapat dengan mudah memeriksa bagaimana aplikasi Anda berjalan, dan kemudian meningkatkannya.Lebih lanjut bisa dilihat disini. 17. General Performance Tuning Tips for Laravel :
Untuk menginstallnya menggunakan php artisan route:clear 7 jalankan perintah:php artisan config:clear 1
Kemudian buka file php artisan route:clear 8 , tambahkan php artisan route:clear 6 milik php artisan optimize --force 0php artisan config:clear 2
Kemudian php artisan optimize --force 1 package nya untuk mengimplementasikan didalam aplikasi Laravel kita.php artisan config:clear 3
Setelah memublikasikan package, kita perlu menambahkan detail middleware di file php artisan optimize --force 2. Kamu bisa menyalin dan tempel kode berikut di bawah php artisan optimize --force 3php artisan config:clear 418. Menggunakan Stack Untuk Meningkatkan Performa Dikenal sebagai ThunderStack, stack khusus ini dirancang untuk meningkatkan kinerja aplikasi Laravel. Resep terbaik terdiri dari Apache dan NGINX, Varnish dan Memcached. Di sisi database, Anda memiliki pilihan MySQL atau MariaDB. Selain itu, Anda dapat mengaktifkan Redis sebagai driver session atau dapat mengonfigurasi Varnish sesuai dengan kebutuhan proyek. 19. KesimpulanMungkin itu yang bisa saya tulis kali ini, tidak harus menerapkan semuanya pada aplikasi Laravel. Tapi pilihlah cara terbaik yang bisa digunakan untuk meningkatkan performa dan kecepatan Laravel milikmu sendiri. |