kayhan echo75
Clockwork gibi bir eklenti kurarak sorgularınızı vs kontrol edin, belki de çok fazla sorgu meydana geliyordur. Clockwork tavsiye ederim, tarayıcı eklentisini de kurun çok faydalı:
https://github.com/itsgoingd/clockwork
Sıkıştırma işlemi yaptığınızda versiyonlama vs kullanıyorsanız düzgün çıktı aldığınızdan emin olun. Belki de tarayıcı önbelleğe almıyordur ve her yenilemede baştan yüklemeye çalışıyordur.
Sıkıştırmadan önce mümkünde purge yaparak dosya boyutlarını daha da küçültmeye çalışın. Purge ile kastettiğim, örneğin 500 kb lık css kütüphanesi yüklüyorsunuzdur ama içerisinden sadece 10 kb lık stil kullanıyorsunuzdur. Tailwind gibi bazı CSS framework'lerde bu destek var, araştırabilirsiniz.
CDN vs kullanıyorsanız kontrol edin, uzak sunuculara erişim sizin sitenizi de yavaşlatacaktır. Başka sunuculardan script etiketi ile bir şeyler sayfaya dahil ettiyseniz defer özelliği kullanın. <script defer src="...">
gibi
Redis gibi in-memory bir db kullanıp cache yapabilirsiniz. Burada cache veritabanı sorguları da olabilir, direkt response da olabilir. Uygulamayı büyük ölçüde hızlandıracaktır.
Veritabanı sorgularını EXPLAIN ANALYZE ile kontrol ederek hızlarını ölçün, indexleme yapılması gereken yerler olabilir, özellikle ana sayfa yüklenirken yapılan sorguları kontrol edin.
Sunucuya Varnish kurarak tüm response'un önbellekten getirilmesini sağlayabilirsiniz. Ben daha önce kullanmadım ama yarın deneyebilirim.
https://varnish-cache.org/
Ayrıca Spatie'nin de Laravel için Varnish paketi var ki Spatie'nin elinden çıkması büyük bir avantaj:
https://github.com/spatie/laravel-varnish
Sitenizi CloudFlare arkasına alın. Hız, bandwidth, güvenlik... gibi bir çok konuda yardımcı olacaktır. Ücretsiz sürümü bile yetecektir. CloudFlare ile ayda 300-400 GB bandwidth tasarruf ettiğim işler var:
https://www.cloudflare.com/
Amazon AWS, Google Cloud, Microsoft Azure gibi servisler kullanarak serverless mimari altında uygulamayı yayınlamak da hız konusunda yardımcı olacaktır, elbette ne yaptığınızı iyi bilmeniz ve fiyatlandırmalara iyi bakmanız lazım, istemediğiniz sürprizlerle karşılaşabilirsiniz.
PHP sürümü mutlaka 8+ olmalı.
Production ortamında (ama sadece production ortamında, geliştirme ortamında değil) php artisan optimize
komutunu çalıştırın. Az da olsa yardımı olacaktır.
Apache yerine Ngnix tercih edin, Ngnix çok daha hızlıdır.
Projeyi bilmediğim ve herhangi bir istatistik, ayrıntı vs paylaşmadığınız için genel şeyleri anlatmaya çalıştım. Projenin özelliklerine göre de yapılması gereken şeyler olabilir. Ayrıca bunları anlatırken projenin production ortamında, yani yayında hız problemi yaşadığını varsayarak konuştum.