Php hızını artırma

4 Cevap php

Şu anda PHP bir web sitesi üzerinde çalışıyorum, ve ben en iyi uygulamaları / yöntemleri istekleri almak süresini azaltmak için ne merak ediyorum. Ben modüler bir şekilde site inşa ettik, böylece bir sayfa modülleri bir dizi oluşacak, ve bu her bilgi istemek gerekir.

Örneğin, (bir sepeti set ise) veritabanından (bir oturum değişkeninde saklanır) kimliği ile sepeti alıp içeriğini dönecektir ki, bir sepeti modülü var. Ben kategorilerini listeler ve bu veritabanından kategorileri getirmesi gereken başka bir modülü var.

Benim sistem modelleri ile inşa edilmiştir, ve örneğin bir kategori modeli bu kategorideki ürünleri almak için bir istek yapacak her model aynı zamanda, bir istek yapmak olabilir.

İlgilenenler için, şu anda im IIS ile Windows Server 2003 üzerinde çalışan uygulama, ama yakın gelecekte linux değiştirmek için umut ediyorum. Ben bu., Cevaplar bugüne kadar çok yararlı olmuştur ve yük ile yardımcı olmak için aracı kullanmak için dışarı bakmak için ne endişeleniyorsunuz geniş bir konu, im biliyorum.

4 Cevap

Sizin gerçek kod, veri ve çevreye karşı böyle bir yaklaşımı tartmak için yararlı olacağını, ancak yüksek düzeyli yaklaşım, mantıklı geliyor. Söyledi:

Kod çalıştırmak için hızlı ve kolay bir şekilde daha hızlı derlenmiş PHP komut önbelleğe hangi tür eAccelerator gibi bir aracı kullanmaktır. Ikinci istek komut gelir bu şekilde performansını artıran ikinci kez, derlenmiş olmak zorunda değildir.

Eğer kullanıcıların büyük miktarda bir site gelişmekte iseniz, böyle memcached gibi bir aracı kullanarak, veritabanından verileri önbelleğe almayı düşünebilirsiniz.

The only practice/method to reduce the time requests take is called profiling.
First you determine the "bottleneck" - the most slow part of your application
Then speed up this very part of code.

Sadece bu şekilde.

"Her ihtimale karşı" bir şeyler yapıyor kötü şeyler yapabilir.

Firebug konsolunda "Net" sayfa başlamak için iyi bir yerdir.

require_once () pahalı

Use echo’s multiple parameters instead of string concatenation.

See if you can use strncasecmp, strpbrk and stripos instead of regex

@ Ile hata bastırma çok yavaş.

$row[’id’] is 7 times faster than $row[id]

Bütün bunlar mikro-optimizasyonu. Zaten önbelleğe alma ve gereksiz veritabanı sorgu sayısını azaltmak gibi aslında önemli tüm şeyleri yaptık kadar bu bakarak bile değmez. Ben de Firebug indirilmesi ve Page Speed ​​aracını kullanarak öneriyoruz, bu CSS küçültmek ve resimleri sizin için optimize edebilirsiniz. PHP sözdizimi endişe yeterli nadiren büyük.

Edit: @ kullanarak zaten genellikle kötü bir uygulama olmasına rağmen. Ben de require_oncenin kullanmak gerek asla buldum, __ autoload çok daha kolay gibi görünüyor.