Php Optimizasyonu

Php Optimizasyonu ile ilgili bir kaç makaleye ulaştım. Derleyerek paylaşmak istiyorum.

  • print yerine echo kullanınız. Echo print’ten daha hızlıdır.
  • Array’lerde > $deger[‘sutun’] $deger[sutun]’dan daha hızlıdır.
  • <? yerine <?php kullanın.
  • if/else yerine switch/case kullanmaya çalışın.
  • Kesinlikle SQL sorgularınızı döngüler içine yazmayın.
  • Sql sorgunuzu tek seferde çalıştırıp, arrayler üzerinde işlemler yapın.
  • Değişkenlerinizi kopyalamayın. Direk üzerinde işlem yapın. ($Veri = $GelenVeri gibi…)
  • Kullanmayacağınız php eklentilerinizi php.ini den pasif yapın.
  • PHP’nizi ve server’ınızda ki component’lerinizi güncel tutun.
  • Verilerinizi ve tüm sayfalarınızı istemcilere sıkıştırarak gönderin. (Bknz. Gzip ile bandwidth düşürme )
  • Yüksek bir sunucu yükünüz varsa mutlaka
  • Yine sunucu yükünüz aşırı fazla ise PHP’nin session fonksiyonunu pek kullanmayın. Verilerinizi Memory‘de veya istemcilerin cookie‘sine tutabilirsiniz.
  • Yine aşırı yüklerle uğraşıyorsanız, Apache server yerine Nginx server veya LightHttpd kullanabilirsiniz. Sunucu karşılaştırmaları için buraya bakabilirsiniz.
  • Değişkenleriniz ve arrayleriniz ile işiniz bittikten sonra unset ile Memory’den silin.
  • require_once() fonksiyonu diğer include fonksiyonlarından daha yavaş çalışır.
  • str_replace, preg_replace‘den daha hızlı çalışır.
  • Apache’nin mod_deflate özelliğini açın.
  • DB ile işlemleriniz bittikten sonra bağlantıyı kapatın.
  • Hata ayıklamak için error_reporting (E_ALL ) kullanın.
  • Statik içerikler için, hızlı dosya serverları kullanın (thttpd) [img.sitem.com, js.sitem.com vs…]

Sizinde php ve sunucu performansı ile ilgili bildiğiniz mini ipuçlarınızı yazabilirsiniz.

Kaynak:

3 thoughts on “Php Optimizasyonu

  1. 2-3 Noktada sorum olacakti.

    1. $deger[‘sutun’] daha hizli calisir ve <? yerine <?php kullanin yazmissiniz. Bunlarin sebepleri nedir?
    2. if/else yerine switch/case bunlara bir kac örnek verebilirmisiniz?

    PHP yi yeni ögrenmekteyim. Ögrenmisken en iyi yöntemleriyle ama amaclarini bilerek ögrenmek istiyorum.

    Tesekkürler.

  2. Merhaba, 1. soru için: genellikle array’lerde ki elemanları çağırmak için (object değil, array) tek tırnak ile çağırmak daha hızlı olur. String olarak çağırmak daha hızlıdır. Apache bunu daha hızlı işler. 2. soru için: http://www.dmry.net/if-mi-yoksa-switch-mi-daha-hizlidir/ burada ki adreste iki kodun arasındaki çalışma farkını anlatıyor. Detaylı olarak anlamak istersen bakabilirsin. İyi çalışmalar…

Leave a Reply

Your email address will not be published. Required fields are marked *