Saya sedang mengerjakan proyek PHP kecil kecil untuk seorang teman saya, dan saya memiliki pengaturan lingkungan WAMP untuk pengembangan lokal. Saya ingat hari-hari ketika respons dari Apache 2.2 lokal saya langsung. Sayangnya, sekarang setelah saya kembali dari liburan yang sangat panjang, saya menemukan respons dari localhost
sangat lambat.
Dibutuhkan sekitar 5 detik untuk mendapatkan halaman HTML 300B yang disajikan.
Ketika saya melihat task manager, httpd
proses (2) menggunakan hingga 0% dari CPU dan secara keseluruhan komputer saya tidak di bawah beban (0-2% penggunaan CPU).
Mengapa latensi begitu tinggi? Apakah ada pengaturan Apache yang dapat saya atur untuk membuat utasnya berjalan dengan prioritas yang lebih tinggi atau sesuatu? Sepertinya itu hanya tidur sebelum melayani respons.
sumber
localhost
mengatasinya dengan benar berdasarkan DNS?ping localhost
harus kembali dengan instan127.0.0.1
.http://localhost/index.html
)? Jika tidak, itu mungkin masalah PHP, bukan masalah Apache.strace
dantcpdump
merupakan alat yang berguna untuk ini.Jawaban:
Bagi saya, mengatur
ServerName
properti dalamhttpd.conf
memperbaiki penundaan (paling buruk 10 detik):sumber
If your host doesn't have a registered DNS name, enter its IP address here.
Saya memiliki masalah yang sama.
Mengatur localhost redirect ke 127.0.0.1 di file hosts tidak membantu. Mengoptimalkan server MySQL tidak membantu (InnoDB -> MyISAM, mengubah banyak arahan terkait cache di my.ini).
Kemudian saya menggunakan web web grind dan mempersempit masalahnya menjadi panggilan "new PDO (...)". Berubah
untuk
di dsn untuk PDO sepenuhnya memecahkan masalah ! Waktu pemuatan halaman berubah dari 3000 ms menjadi 16ms .
Namun saya benar-benar bingung mengapa baris "127.0.0.1 localhost" di file hosts tidak membantu.
sumber
$link = new PDO('mysql:host=localhost;dbname=dp-ui;charset=utf8');
ke$link = new PDO('mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8');
Masalahnya adalah dengan file pengaturan utama Apache
httpd.conf
.Aku menemukan ini:
Jadi saya pergi ke pengaturan Apache dan melihat di mana masalahnya: Saya mengaturnya sebagai CGI, alih-alih memuatnya sebagai modul. Ini menyebabkan
php-cgi.exe
memulai dan menutup setiap kali saya membuat permintaan. Ini memperlambatlocalhost
perkembangan saya .Saya mengubah pengaturan untuk memuat PHP sebagai MODUL Apache dan sekarang semuanya berfungsi dengan baik. :)
Terima kasih atas upaya Anda.
sumber
Saya memiliki masalah yang sama dan akhirnya menemukan bahwa itu berasal dari dua fakta:
http://myproject.local/
karena saya menempatkan garis127.0.0.1 myproject.local
di/etc/hosts
Masalahnya muncul karena
.local
tld dicadangkan untuk layanan Bonjour, dan ini sejak Mac OS X Lion (10.7).Mengubah tld untuk hal lain memperbaiki masalah.
sumber
Periksa apakah
/etc/hosts
sudah benar. Seperti ini:Di tempat itu
****
berikan nama host Anda.sumber
127.0.0.1 something.atmy.localhost
Permintaan ditambahkan dan sekarang tidak membutuhkan waktu 20 detik lagi. Sebaliknya apache lokal merespons dengan segera. Tidak tahu banyak tentang jaringan. Saya kira nama domain teratasi terlalu lambat, karena ada sesuatu yang tidak dikonfigurasi dengan benar.Dalam Anda
httpd.conf
pastikan untuk mengatur pengaturanHostnameLookups Off
.sumber
Jika itu membantu siapa pun, saya punya masalah ini dan itu menjadi pencarian DNS yang salah .
Server DNS pada server diatur ke
127.0.0.1
- Saya mengubahnya untuk menggunakan server DNS Publik Google, dan itu membuatnya lebih cepat menumpuk.sumber
Pertanyaan ini memiliki tag apache-2.2, tetapi jika seseorang dipengaruhi oleh masalah jahat ini juga di WAMP dengan Apache 2.4 + PHP 5.5 , jawaban berikut pada SO melakukan trik untuk saya:
https://stackoverflow.com/a/18786773/260080
sumber