Ne iyi yolu (yolları?) Bir php web sitesi hızlandırmak ve ne kadar hızlı bu kullanarak ya da bu şekilde mi?
PHP gerçekten mikro optimizasyonlar yapmak, ya da sadece tek başına kod üzerinde çalışabilirsiniz dilin tür değildir. Hiçbir nokta gerçekten var. PHP özellikle hızlı olmasa da, PHP kendisi nadiren belirli bir web sitesinde darboğaz olduğunu.
Sen bunu düzeltmek için önce bu darboğaz nerede çalışmak gerekir. Ortak darboğazları bir sürü ortak çözümler vardır. O yüzden birkaç detay verilmiş, genelleme yapmak zor, ama çoğu web siteleri için geçerli performans ipuçları bir yeri vardır.
Bakmak için ilk iyi bir yer değil, sunucu tarafında daha, istemci tarafında aslında. (Görüntüler, CSS, JavaScript ve benzeri dahil) sayfaları nasıl büyük? Tek bir sayfa görünümü kaç HTTP istekleri gerektirir? Kundakçı gibi bir şey (ve YSlow Kundakçı için add-on), sayfa aslında yüklemek ne kadar sürdüğünü görmek için, ve sayfanızın bit soruna neden olan. Kullanın Bazı genel ipuçları:
Eğer yolumdan istemci tarafı var sonra, sunucu tarafında dikkatinizi açmak zorunda kalabilirsiniz.
APC, XCache veya Zend Optimizer gibi bir opcode önbellek, yükleyin. Bunu yapmak çok kolay ve her zaman bazı iyileştirme sağlayacaktır. Bunu yaptıktan sonra, zaman aslında nerede harcandığının bulmak için, sayfalarınızı profil.
Daha büyük olasılıkla değil daha, veritabanı sonuçları döndürmek için bekleyen çoğu zaman harcama olacak. Yani, bir sade:
Bunu yaptıktan sonra, bu önbelleğe nasıl kullanılacağını dışarı çalışmaya başlamak için genellikle en iyi. PHP kodu hızlandırmak için en iyi yolu, bunu yapmak zorunda işin miktarını azaltmaktır.
Bu noktadan sonra, genel yaklaşım daha sunucularını kullanmaya başlamak için, ve sorun değil, ham hızdan, ölçekleme biri haline gelir. Genel plan web sitenize paylaşımsız bir mimariye sahip olduğundan emin olmak için - tüm kalıcı veriler veritabanında saklanır. Sonra, birden webservers yüklemek ayrı bir makineye veritabanı sunucusu taşımak ve bir önbelleğe alma ters proxy arkasında tüm şey çalıştırın. Fazla kapasite eklemek için, daha fazla makine ekleyin.
Tek yol: php accelerators, örneğin APC.
Başka; blog makaleleri okumak, mesela performance tuning overview.
Bir genel bir soru söyleyebilirim. Online OPTIMAZATION ipuçları arıyor deneyin ...
Çeşitli parametreler katılıyor:
Sen optimizasyonlar önce ve sonra çevre sınamak için kıyaslama araçlarını kullanabilirsiniz.
Örneğin apache tezgah deneyin.
Filesize.
500 KB'lık bir dosya daha sonra 300 KB'lık bir dosyayı indirmek için daha uzun sürer. Yani kadar olabildiğince optimize ve ekin.
Accelators
Öz açıklanabilir: List of PHP accelerators
Server upgrade
Though this costs money, when dealing with a lot of traffic, it will have impact on how fast the .php files gets processes and how fast data will be send to the user. I don't recommend this though since there are other (free) ways to improve speed.
Don't user external resources
Eğer bazı görüntüleri yalak diğer sitelere bağlantı yapıyorsanız, indirme hızı kontrolü olmayacaktır. Bunun yerine, başkalarının görüntüleri kullanarak planlıyorsanız öncelikle kendi sunucusuna indirebilir (veya kendi sağlayıcısına yükleyin) ve bu şekilde onları yükleyin.
Review and improve your code
Kısa yolları bulmak, başkalarını vb yeniden, kullanılmayan değişkenleri silmek, gereksiz kod kaldırmak
Orada başka yolları vardır ama yukarıdaki bilgiler hızınıza en çok etkisi olduğuna inanıyorum
Muhtemelen, ancak bu sorunun mevcut cevapları için bazı arama yapmak gerekir ...
Yahoo web sayfaları, uygulamak için bunun çok çok kolay hızlandırmak bazı good basic advice var. Ayrıca firefox için YSlow + kundakçı indirmek isteyebilirsiniz; bir istemci isteği açısından olası temel darboğazları gösterir yardımcı olacaktır.
Burada tavsiye kalanı iyi, yani dışında başka çok eklemek alışkanlık; Eğer bir darboğaz buldum% 100 emin olana kadar herhangi bir kod optimize zahmet etmeyin. Ben herhelde. Eğer tek gerçek kanıt (yani performans profilleme) üzerinde hareket, daha hızlı şeyler yapacaktır "hissediyorum" çünkü zaman kodunu verdiği ya da yeni şeyler (yani önbelleğe alma) uygulama israf etmeyin.