TheKhan arkadaşımız yaptıkları ve önerileri çoğu projede işe yarar nitelikte fakat mysql in php den en az x10 daha hızlı çalışabileceğini unutmamakla birlikte php dahil tüm dillerdeki genel yavaşlık problemleri veritabanı kullanım şekli ve querylerinden kaynaklıdır.
phpmyadmin query süresi ile php tarafında query süresi arasında ortalama %10 gibi fark kabul edilebilir düzeyde olur, farkın daha yüksek olması genelde kullanılan php sql driverı ve konfigürasyon alakalı olabiliyor.
aslına bakarsanız şu yaparsanız yavaş şunu yaparsanız hızlı olur diye genel geçer bir şey yok, projeye göre farklılık gösteriyor.
TheKhan'nın dedği gibi subquerylerden kaçınmak size yarar sağlayabilir, öncesine veritabanı diagramınızı ve indexlerizi, querylerinize ve amacınıza uygun olarak yapmanız gerekiyor, explain ile sql sorgunuzun hangi indexleri kullandığını görebilirsiniz bu sonuçlara göre de 1 saniye süren queryiniz 0.001 saniyeye düşürebilirsiniz, fakat bu da full-text search de pek işe yaramaz.
sonuç olarak her durumuna uygun farklı çözümler, fikirler olabiliyor. genel bağlamda TheKhan'ın önerilerine %99.9 katılıyorum.
Php optimizasyon için kullanılan yöntemler
15
●431
- 24-04-2021, 11:51:27Çektiğiniz veriyi foreach ile çevirip içerisinde if($veri['type'] != 3) continue;
Benzeri işlem ile type i 3 olmayanları eleyen bir yapı olabilir
Ama dediğim gibi bu karmaşık her seferinde sorgunun MySQL i çok yorduğu
JOIN
işlemlerinin fazla olduğu sorularda faydalı tek tablo için ayrı sorgu kullanmak hız açısından daha faydalı olur - 29-04-2021, 12:39:21trgino adlı üyeden alıntı: mesajı görüntülesnaja48 adlı üyeden alıntı: mesajı görüntüleMERHABA ustadlar sımdı mysql php den daha mı hızlı pekı sıte optımızasyonların da bunu nasıl eklentı halıne getırebılırızTheKhan adlı üyeden alıntı: mesajı görüntüle
yada bunu eklentı ıle yazar mısınız?
ucret ne kadar olur
roceket cache de kullnsam wp sıteler de ornek pagespeed ve gt metrıkse 90 uzerı alsam yıne google https://www.thinkwithgoogle.com/intl...re/testmysite/
mobıl test aracın da hızlıdır dıye sonuc vermıyor mesela benım sıte 1,2 sanıye sonuc çıksa ortalama derken bazı sıteler 1,5 de çıksa pagespeed puanı berbatta olsa hızlı dıyor
ve o an karsıam çıkıp merak ıle test ettım sıteye gırıs de bı rahatlık var
eğer bu dedınız eklentı dahılın da mysql ıle mukemmel bır optımızasyon skoru çıkarabılır ıse ayzdırmak ısterım
ucretı oğrenmek ısterım
not bır wp sıtenın dedınız gıbı php ye gore daha hızlı ıse mysql 0,5 saıye cıvarın da açılması ve test sıtelerın dede bu sekılde sonuç vermesını ısterım - 29-04-2021, 13:00:43- PHP ve MySQL farklı şeyler, programlama dili ile veritabanı sunucusunu kıyas yapamayız. PHP veriyi MySQL'dan aldığı için her türlü daha yavaş olacaktır. Sadece verileri ekrana basacak bir echo bile hız farkı oluştururmoncen adlı üyeden alıntı: mesajı görüntüle
- PHP ve MySQL optimizasyonu ayrı ayrı yapılır.
- Cache statik veriler için işe yarar. Günde bir yada birkaç defa değişen sayfalar için cache kullanılabilir, ancak arama sonuçları gibi sayfalar için cache kullanılması doğru olmaz.
- Site hız testi gibi testler sadece PHP - MySQL ile alakalı testler değildir. Fazladan kullandığınız javascript, css gibi unsurlarda hızı etkiler. Bu tip bir kaygınız varsa sitenizi vanilla-js, tailwind.css/spectre.css ile yapmanız, webpack ve treeshaking dedikleri yöntemi takip etmeniz daha uygun olacaktır.
Ücretli desteğe ihtiyacınız varsa forumun ilgili bölümlerine ilan verebilirsiniz. - 29-04-2021, 13:44:24Merhaba bu tavsiyeleri kendim uygulayarak sitelerimde 0.2 saliseleri görüyorum. tecrübelerime dayanarak yazıyorummoncen adlı üyeden alıntı: mesajı görüntüle
Mysql optimize
mysql optimizasyon sunucu taraflı güncellenmesi gerekiyor. buradaki ayarlar hassas ayarlardır mevcut sitelerinizi bozabilir.istenirse makale paylaşırım
Yazılımsal olarak
echo kullanmanız daha önemlidir print'de ekrana basar ama birisi direk veriyi döndürür diğeri varsayılan veriyi döndürür.
preg_replace komutu kullanıyorsanız str_replace çok daha performanslıdır.
require ile çektiğiniz sayfaları require_once ile çekmeniz çok performanslıdır.
isset, strlen den daha hızlıdır.
++$i şeklinde saydırma işleminde $i++; her zaman daha hızlıdır.
Php de çift tırnak tek tırnak performansı çok etkiler örneğin $deneme["deneme"] veya $deneme[deneme] bu şekilde yapılırsa kodlar süzülürken php burada değişkende sorgulayacaktır. halbüki $deneme['deneme'] bu şekilde tek tırnak yapılırsa sorgulama olmaksızın çok hızlı yükleyecektir.
herhangi bir döngü yaptığınızda döngünün sınırını üst satırda belirtmek çok yararlı olacaktır.döngü gerektiği kadar çalışarak sayfa açılış hızı etkilenecektir
kullanılan değişkenler sessıonlar unset ile bitirmek sistemin ömrünü uzatır.
değişken başlarına @işareti eklemek performansı düşüreceği gibi bunun anlamı hata olsada devam et demektir birnevi gözardı et sistemi tavsiye edilmez.ve sistemi yavaşlatır.
mysql bağlantılarını mutlaka kapatmanız gerekir.
Sunucu optimize
Sunucunuzu optimize ederken şunlara dikkat etmeniz yeterlidir.
Mümkünse sitelerinizi http2 protokolüne göre ayarlayın. http2 protokolü süper cache ve buna benzer diğer protokollerden çok daha iyidir. çünkü diğer protokoller sitenizdeki css.resim.js dosyalarınıza tek tek istek göndererek yüklemeye çalışıcaktır. http2 protokolü ise istekten önce hepsini sıkıstırarak tek bir sorgudaçağırmaktadır.
gzip modülünü aktif hale getirmelisiniz. bu modül sitenizin tüm kodlarını 30 sn bir zaman dilimiyle sıkıstırarak sunucunuzda saklar ve müşterinin daha hızlı sayfa açmasına sebeb olur
resimlerde yeni webp formatını kullanın . dünya istatistiklerine göre yeni formatı google ve başta gelen firmalar kullanıyor. açılış değerleri jpeg den daha iyidir.
resim,js,css kodlarını optimize edin. js kullanırken örneğin jqeru3.2.1 yerine jquery3.2.1_min.js gibi küütüphaneler kullanın bunlar minimize edilmiş kütüphanelerdir.
optimize sitesi olan https://tools.pingdom.com/ üzerinden server sayfa açılış sürelerini kontrol edin hangi dosya sitenizi yoruyor engelleyin
http2 kullandığınızı varsayarak sitenizdeki tüm js css dosyalarını sitenizin kök dizinine yerleşştirin dışarıdan alımda bekleme yapıcaktır.
lazyload ile resimlerin yüklenmesini engeleyin. sayfa kaydıkça yüklensin
nginx optimize
access_logs kapatmanızda yarar var fakat bu bölümdeki değişimler sitenizi bozabileceğinden fazla bir şey yazmak istemiyorum
html beaty optimize
çok fazla ileri giderek zorlamak isterseniz html kodlarınızı sıkıstırarak inanılmaz bir performans elde edebilirsiniz.Örneğin <img src="deneme.jpg"> yerine <img src=deneme.jpg> gibi
Tüm bu optimizasyonlar sonucunda sitelerimizin açılış hızları 0.232 salise , 0.53 salise gibi değerlerdir. Bunlar büyük sitelerde kolay görülemeyecek değerlerdir.
Yazılım wp veya hazır yazılım değildir. Özel yazılımdır. Bu yazımı ayrı bir konuda açabilirim herkes faydalansın