Ditaja oleh New Relic. Terima kasih kerana menyokong penaja yang menjadikan SitePoint mungkin!
Lonjakan lalu lintas yang tidak dijangka boleh melumpuhkan permohonan anda. Sama ada jawatan reddit virus atau kenaikan mendadak dalam populariti, mengendalikan kemasukan pengunjung yang besar adalah penting. Walaupun platform awan menawarkan skala automatik, ujian tempatan proaktif menjimatkan masa dan wang. Panduan ini memperkenalkan Apache Bench (AB), alat yang berkuasa untuk menguji beban aplikasi PHP anda sebelum digunakan.
Bench Apache adalah alat baris arahan untuk pelayan web menguji tekanan. Ia mensimulasikan pelbagai keadaan beban, yang membolehkan anda menyempurnakan prestasi aplikasi anda di bawah tekanan. Walaupun sering disertakan dengan pemasangan Apache, anda boleh memasangnya menggunakan pengurus pakej sistem anda (mis., sudo apt-get install apache2-utils
di Ubuntu).
composer create-project laravel/laravel Laravel --prefer-dist
projek Laravel anda. Anda kini boleh mengakses permohonan anda melalui URL (mis., public
). http://homestead.app:8000
menjalankan ujian pertama anda
Perintah ini mungkin akan mengembalikan hasil terlalu cepat untuk berguna. Untuk mensimulasikan beban yang lebih realistik, gunakan pilihan
ab homestead.app/
(concurrency): -n
-c
ab -n 500 -c 100 homestead.app/
Memperkenalkan kelewatan buatan
: showWelcome
app/Http/Controllers/HomeController.php
public function showWelcome() { if (isset($_GET['slower']) && $_GET['slower'] == 'true') { sleep(1); // Introduce a 1-second delay } else { usleep(1); // Minimal delay } return view('welcome'); }
routes/web.php
Route::get('/', 'HomeController@showWelcome');
. Perbezaan hasil akan menyerlahkan bagaimana skrip jangka panjang memberi kesan kepada prestasi yang ketara di bawah beban. homestead.app
homestead.app?slower=true
Tutorial ini menunjukkan pentingnya mengoptimumkan aplikasi PHP anda untuk prestasi. Apache Bench adalah alat yang berharga untuk mengenal pasti kesesakan dan memastikan aplikasi anda dapat mengendalikan lalu lintas yang tinggi. Eksperimen dengan parameter yang berbeza, dan ingat bahawa pengoptimuman kecil walaupun boleh membuat perbezaan besar.
Bahagian ini mengandungi jawapan kepada soalan umum mengenai penggunaan bangku Apache untuk menguji tekanan aplikasi PHP. (Soalan Lazim Asal telah disatukan dan sedikit ditulis semula untuk keringkasan dan kejelasan).
Q: Apakah bangku Apache dan mengapa penting?
Q: Bagaimana saya memasang dan menggunakan bangku Apache?
A: Pemasangan bergantung pada sistem anda (periksa Pengurus Pakej Sistem anda). Penggunaan melibatkan perintah diikuti oleh pilihan (seperti ab
untuk permintaan dan -n
untuk kesesuaian) dan url sasaran. -c
Q: Bagaimana saya mentafsirkan hasil bangku Apache?
A: Metrik utama termasuk permintaan sesaat (lebih tinggi adalah lebih baik), masa setiap permintaan (lebih rendah adalah lebih baik), dan permintaan yang gagal (harus sifar). "Masa yang diambil untuk ujian" menunjukkan tempoh ujian total.
q: Bolehkah ujian https uji bangku Apache?
A: Ya, hanya gunakan protokol dalam url anda. https
Q: Bagaimana bangku Apache dibandingkan dengan alat ujian beban lain?
A: Bench Apache adalah mudah dan cepat untuk ujian asas. Alat yang lebih maju menawarkan ciri -ciri seperti skrip dan ujian senario yang lebih canggih.
q: Bolehkah bangku Apache membantu mengenal pasti kesesakan?
A: Walaupun ia tidak menentukan sebab yang tepat, ia mendedahkan isu prestasi (permintaan rendah sesaat, permintaan gagal tinggi) yang memerlukan siasatan lanjut menggunakan alat penyahpepijatan dan profil.Atas ialah kandungan terperinci Tekanan Menguji Aplikasi PHP anda dengan Apachebench. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!