2012-03-21 25 views
34

PHP uygulamasında PDO kullanıyorum. Aynı sunucu üzerinde MySQL sunucusuna bağlanır: PDO bağlantısı neden yavaş çalışıyor?

$db = new PDO(mysql:host=localhost;dbname=test, $username, $password); 

ben PDO oluşturmak için çağrısını içeren bir tanesi aynı çıkışı (düz html sadece bazı gereksiz veri) ile iki sayfa oluşturulur. Bağlantı kullanmadan sayfayı açarsam, yanıt 0,5 ile 1 saniye arasında daha hızlıdır.

+0

Veritabanından nasıl bağlantı kurmadan veri alırsınız? – deceze

+0

Kukla veriler, yalnızca belirli bir HTML'dir, veritabanından hiçbir şey yoktur. –

+1

Bu etki normal değildir. Sunucuyla ilgili sorunlarınız var gibi görünüyor. Belki SQL server cevap vermekte yavaştır. Daha fazla araştırmaya çalışın ama bana göre bu daha fazla ServerFault problemi gibi görünüyor. –

cevap

77

Biraz googling yapıyorum ve this thread okuduktan sonra localhost değerini 127.0.0.1 olarak değiştirdim. Bu sorunu çözer.

+2

Günümü siz yaptınız! Localhost kullanarak, 127.0.0.1 kullanarak, yaklaşık bir milisaniye sürdüğü bir saniye sürdü. – CodeZombie

+1

Çok yardımcı bir araştırma. Buna yardım edene kadar çözüm bulmaya çalıştım. 1s'den 3 ms'den daha azına düştü. –

+8

Biraz 'neden': Bir ana bilgisayar adı kullanarak, PHP, DNS tablosunda bir arama yapmak zorunda kalıyor (yavaş!). Bu büyük bir tablo ise, girişin bulunmasından önce uzun zaman alabilir. Statik bir IP adresi kullanarak, bu çözümlemeyi tamamen atlayabilirsiniz. Bunu, localhost IP'leri olmayanlarla da yapabilirsiniz! – Gerben

İlgili konular