2011-04-20 37 views
6

Şu anda bir proje üzerinde çalışıyorum ve yerel sunucumda test ediyorum.localhost'u daha hızlı hale getirin?

Endişelendiğim şey sayfaların oldukça yavaş yüklenmesidir (500-700ms ve daha az değil). Localhost'un başka bir web sayfasından daha hızlı yükleneceğini düşündüm (yerel makinemde olduğu gibi). Bu nedenle, bunlar localhost'taki yükleme süreleriyse, sitemi uzak bir sunucuda taşırken önemli ölçüde daha büyük olurlar mı?

Teknik detaylar olarak, CakePHP çerçevesi üzerinde geliştiriyorum ve tüm AJAX istekleri var, hepsi yukarıda belirtilen yükleme süresine sahip. İstekler, bir CakePHP tarafından oluşturulan sayfaların 3ms'den daha azını alan MySQL işlemlerini yüklediklerinden zaman alıcı olmamalıdır (çerçevenin hata ayıklayıcısında gösterildiği gibi). Ayrıca bir Windows 7 makinesinde XAMPP (bu nedenle Apache web sunucusu) kullanıyorum.

Cevabınız için teşekkür ederim ve bu yazının başkalarına da faydalı olacağına inanıyorum.

cevap

2

Eğer MySQL'in hızlı olduğunu söylüyorsanız, ancak yavaşlama tamamen PHP'de olduğundan, APC uzantısının etkinleştirilmesi yardımcı olabilir. APC, PHP ayrıştırıcısının çıktısını önbelleğe alır ve birkaç başka optimizasyon yapar. Çoğu zaman bir ton kaydedebilir.

Ancak genel olarak profil yapmak isteyeceksiniz. Profil bilgileri almak için XDebug'ı kullanın ve işlerin yavaş olduğu yerleri okumak için WinCacheGrind'i kullanın.

+0

bilmiyorum akılda tutulması yavaşlama olmadığını PHP'den kaynaklanır. Belki AJAX isteğini yaparken Javascript'te bir yavaşlama var. Bilmiyorum, sayfalara çok hızlı bir şekilde ulaşılmamasına neden olan bir şey. PHP önbellekleme ile ilgili olarak, bildiğim kadarıyla, CakePHP bunu varsayılan olarak yapar. Ya da özellikle bir şeyi etkinleştirmek zorunda mıyım? – linkyndy

+0

Sayfa tamamen buysa, istemci tarafı profiler kullanın (Firebug size bilgi verir ve YSlow da yardımcı olabilir) CakePHP'nin önbelleklemesi APC ile aynı değildir. APC, PHP'nin çekirdeğini hızlandıran bir PHP uzantısıdır. Deneyin – Evert

+0

Yani, Cake'in önbelleğe alınmasının yanı sıra APC kullanmalı mıyım? Çakışan iki önbellek sistemi olmayacak mı? – linkyndy

3

Muhtemelen daha hızlı yükleme yükleme süresi - muhtemelen bilgisayarınızın gerçek bir sunucu kadar güçlü değil.

Şahsen, projelerimin ne kadar hızlı çalıştığı konusunda her zaman şaşırdım - ancak bu sunucuya bağlı olabilir. Endişenizi hafifletmek için hızlı bir test yüklemelisiniz. daha sonra 0 modeliniz yapıları yapım önbelleğe alınmaz zaman muhtemelen kek her istekte onları yeniden daha büyük 0'a ayarlanır hata ayıklama kullanacaktır test ederken

+0

Yani, gerçek bir sunucudaki uzak bir sayfanın yerel makinemden bir sayfadan daha hızlı yüklenebileceğini söylüyorsunuz? Uzaktan iletişim kurarken bir tür gecikme olması gerekmez mi? – linkyndy

+0

İletişim gecikmesi tek sorun değil .... bilgisayar da aslında betiği çalıştırmak zorunda. Statik sayfalar (yani sadece '.html' php veya ajax yok) sizin için ne kadar iyi çalışır? – Random832

+0

Bilgisayarınız, http üzerinden içerik sunmak üzere optimize edilmiş bir grup makine ile karşılaştırıldığında neredeyse hiç buharı olmayan küçük bir kutu. Gerçekten önemli (pozitif) farklılıklar görebilirsiniz, ancak sunucuya ve bulunduğu yere bağlıdır. Bunu yapmanın en iyi yolu bunu denemek ve öğrenmek, *** o zaman bir sorun olup olmadığına karar vermek. Gönderdiğiniz zamanlar hiç de fena değil. –

2

Ayrıca

+0

Bu gerçeği saymayı unuttum. Hata ayıklamayı devre dışı bırakırsam daha hızlı olmalı. – linkyndy

+0

bunu da tamamen unuttu. Db yapısını değiştirip uygulamamı dağıttığım hafta boyunca benim için büyük bir sorun oldu – Nick

İlgili konular