Cara menanda aras penanda aras dengan bangku Apache

Cara menanda aras penanda aras dengan bangku Apache

Apache Bench adalah alat yang digunakan untuk mengukur prestasi pelayan web. Walaupun mempunyai "Apache" atas namanya, ia sebenarnya boleh digunakan untuk menguji mana -mana jenis pelayan web. Dalam tutorial ini, kami akan pergi ke langkah -langkah untuk menggunakan bangku Apache dan bagaimana mentafsir laporannya mengenai prestasi pelayan web.

Bench Apache berfungsi dengan menghantar pelbagai permintaan HTTP ke pelayan web dan merakam masa tindak balas. Ia dapat memberitahu anda berapa banyak kesesakan yang dapat dikendalikan oleh pelayan sebelum ia menjadi terharu dan prestasi berkurang.

Dalam tutorial ini anda akan belajar:

  • Cara memasang bangku Apache
  • Cara menggunakan bangku Apache
  • Cara mentafsirkan hasil bangku Apache
Cara menanda aras penanda aras dengan bangku Apache

Keperluan perisian dan konvensyen yang digunakan

Keperluan Perisian dan Konvensyen Talian Perintah Linux
Kategori Keperluan, konvensyen atau versi perisian yang digunakan
Sistem Sebarang pengedaran GNU/Linux
Perisian ab
Yang lain Akses istimewa ke sistem linux anda sebagai akar atau melalui sudo perintah.
Konvensyen # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Cara memasang bangku Apache

APACHE BENCH adalah sebahagian daripada pakej Apache2-Utils, yang boleh dipasang dengan Pengurus Pakej Sistem anda.
Untuk Ubuntu dan pengagihan berasaskan Debian yang lain, gunakan perintah apt-get untuk memasangnya:

$ sudo apt-get memasang apache2-utils 

Untuk CentOS/RHEL melaksanakan:

# DNF Pasang T-Tools HTTPD 


Cara menggunakan bangku Apache

Gunakan bangku Apache dengan perintah ab. Sintaks yang paling asas ialah:

$ ab hostname/ 
CATATAN
ab Memerlukan slash trailing di alamat hostname/IP.

Perintah asas ini tidak berguna tanpa sebarang pilihan tambahan, jadi mari masukkan beberapa. APACHE BENCH mempunyai banyak pilihan yang tersedia, tetapi beberapa yang paling berguna ialah:

  • -n (nombor): digunakan untuk menentukan bilangan permintaan ab harus dihantar ke Apache
  • -T (tamat masa): Digunakan untuk menentukan (dalam saat) berapa lama ab harus terus menghantar permintaan
  • -c (serentak): digunakan untuk menentukan bilangan permintaan serentak untuk AB untuk membuat

Anda boleh bermain -main dengan pilihan ini untuk mensimulasikan trafik yang lebih realistik untuk pelayan web anda, dan perhatikan bagaimana ia berfungsi di bawah pelbagai tekanan.

$ ab -t 10 -n 10000 -c 100 nama host/ 

Perintah ini akan menanda aras pelayan web kami selama 10 saat, menghantar maksimum 10,000 permintaan, dan menghantar 100 permintaan tersebut secara serentak.

Pertimbangan

Terdapat beberapa perkara yang perlu dipertimbangkan semasa menggunakan bangku Apache. Apabila pelayan menerima beribu -ribu permintaan HTTP dari satu sumber dalam masa beberapa saat, banyak firewall akan menafsirkannya sebagai penafian serangan perkhidmatan dan cuba menghalang sambungan berulang untuk seketika.

Kami hanya akan mengesyorkan menggunakan bangku Apache di rangkaian tempatan, dan menguji terhadap tuan rumah yang anda kendalikan. Namun, ini bukan simulasi trafik sebenar yang sempurna.

Semasa menyambung ke pelayan web di suatu tempat di dunia, pengguna akan mempunyai pelbagai tahap latensi dan hop (laluan sambungan mereka dibawa ke pelayan web), yang memainkan peranan utama dalam kelajuan laman web anda yang dirasakan.
Selain itu, mesin ujian anda (sistem yang anda jalankan perintah ab) boleh menjadi hambatan. Jika anda mengesyaki bahawa sistem anda tidak mempunyai sumber yang diperlukan untuk memulakan sejumlah besar sambungan ini, anda boleh mengesahkan dengan menggunakan arahan teratas untuk memantau penggunaan CPU dan memori semasa AB sedang menjalankan ujiannya.

Sekiranya anda mendapat Sambungan masa keluar ralat, sambungan anda mungkin disekat oleh firewall atau pelayan Apache terkejut dan tidak dapat mengendalikan permintaan selanjutnya.

Hasil ujian bangku Apache

Apabila bangku Apache selesai menjalankan ujiannya, ia akan mengeluarkan hasilnya ke terminal, dan harus kelihatan seperti ini:

Selesai 882 Permintaan Perisian Pelayan: Apache/2.4.29 Nama Host Server: --- Port Server: 80 Laluan Dokumen: / Dokumen Panjang: 4878 Bytes Tahap Konvensyen: 100 Masa Diambil Untuk Ujian: 10.008 saat Permintaan lengkap: 882 Permintaan gagal: 0 Jumlah Pindah: 4480560 Bytes HTML Dipindahkan: 4302396 Permintaan bytes sesaat: 88.13 [#/sec] (min) Masa setiap permintaan: 1134.700 [MS] (min) Masa bagi setiap permintaan: 11.347 [MS] (bermakna, merentas semua permintaan serentak) Kadar pemindahan: 437.20 [kbytes/sec] masa sambungan yang diterima (ms) min min [+/- sd] median max Connect: 77 327 1008.3 89 7240 Pemprosesan: 87 115 43.4 101 807 Menunggu: 86 112 39.1 100 604 Jumlah: 168 442 1009.1 192 7373 Peratusan permintaan yang disampaikan dalam masa tertentu (ms) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345 100% 7373 (permintaan terpanjang) 


Mentafsirkan hasil bangku Apache

Output di atas mengandungi semua maklumat yang diperlukan; anda hanya perlu tahu apa maksud pelbagai metrik ini untuk memahami hasilnya. Kami akan mengatasi mereka semua dalam bahagian ini.

Hasil ujian bangku Apache

Beberapa baris pertama hanya memberi maklumat umum mengenai pelayan web. Maklumat berguna benar -benar bermula dengan Masa yang diambil untuk ujian garis.

Masa yang diambil untuk ujian melaporkan berapa lama perintah AB diambil untuk menyelesaikan ujiannya. Oleh kerana kami menyatakan -n 10 dalam perintah ab kami, garis ini jelas akan melaporkan bahawa ujian itu mengambil masa 10 saat. Sekiranya kami tidak menetapkan masa tamat, baris ini akan memberitahu anda berapa lama masa yang diperlukan untuk selesai menghantar bilangan permintaan yang ditentukan. Setelah menerapkan pengoptimuman ke pelayan web anda, anda harus melihat penurunan dalam masa yang diambil untuk ujian selesai (apabila tidak menentukan waktu tamat).

Permintaan lengkap melaporkan berapa banyak permintaan yang dihantar dan dikembalikan dengan jayanya.

Permintaan yang gagal melaporkan berapa banyak permintaan yang tidak dapat diselesaikan. Anda pasti ingin melihat jumlah yang sangat kecil, ideal. Sekiranya baris ini melaporkan beberapa permintaan yang gagal, ia dapat menunjukkan bahawa pelayan web telah dibanjiri dan tidak dapat menjawab semua permintaan pada waktunya.

Jumlah yang dipindahkan dan HTML dipindahkan Baris melaporkan berapa banyak data, dalam bait, dihantar ke pelayan web.

Permintaan sesaat adalah purata berapa banyak permintaan pelayan web dapat mengendalikan dalam detik. Ia berguna dalam menentukan bagaimana pelayan web anda akan melaksanakan apabila banyak pengguna sedang melog masuk pada masa yang sama.

Masa setiap permintaan berapa banyak masa, secara purata, diperlukan untuk memproses permintaan. Nilai diberikan dalam milisaat, jadi dalam contoh kami output masa adalah 1.1 saat. Yang kedua masa setiap permintaan Nilai hanya didarabkan dengan nilai kesesuaian.

Kadar pemindahan adalah seberapa cepat ia dapat memindahkan data, yang tidak sepatutnya menimbulkan kesesakan di rangkaian tempatan. Sekiranya ujian melalui internet, batasan penghalaan dan jalur lebar boleh menjejaskan nilai ini jauh sebelum Apache itu sendiri.

The Masa Sambungan (MS) Seksyen menyenaraikan masa tindak balas untuk tahap yang berlainan permintaan HTTP.

Waktu Sambungan (MS) Min Maksud [+/- SD] Median Max Connect: 77 327 1008.3 89 7240 Pemprosesan: 87 115 43.4 101 807 Menunggu: 86 112 39.1 100 604 Jumlah: 168 442 1009.1 192 7373 

Sambung Menunjukkan berapa banyak masa yang diperlukan untuk membuat sambungan dengan pelayan web.

Pemprosesan adalah jumlah masa yang dibelanjakan oleh Apache untuk memproses permintaan. Oleh kerana AB tidak dapat mengukur ini, ia hanya merekodkan jumlah masa sambungan dibuka setelah dimulakan.

Menunggu berapa lama ab harus menunggu antara menghantar permintaan dan menerima respons dari pelayan web.

Jumlah Menunjukkan jumlah masa yang berlalu dari memulakan sambungan ke pelayan, menerima respons, dan akhirnya menutup sambungan.

Metrik terakhir Apache Bench menawarkan pandangan yang lebih tepat pada masa tindak balas purata pelayan web dengan menyusun masa sambungan ke dalam persentil.

Peratusan permintaan yang disampaikan dalam masa tertentu (ms) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345 100% 7373 (permintaan terpanjang) 


Dalam contoh output kami di atas, 50% permintaan HTTP ditangani dan ditutup hanya 192 ms atau kurang. Laporan ini juga menunjukkan bahawa respons yang mengambil 7 saat (hanya ada dua daripadanya) yang menjadi outlier, menjadikannya masa sambungan Laporkan kurang membimbangkan. 90% permintaan HTTP kami dikendalikan dalam masa kurang dari setengah saat.

Kesimpulan

Dalam artikel ini kita melihat cara memasang bangku Apache dan menggunakannya untuk menguji prestasi pelayan web. Kami juga belajar bagaimana mentafsirkan output dari bangku Apache, yang membolehkan kami menentukan di mana kesesakan berbohong. Setelah mengoptimumkan pelayan web anda lebih jauh, jalankan bangku Apache sekali lagi dan mengharapkan untuk melihat hasil prestasi yang lebih baik, jika ada peningkatan yang dibuat.

Tutorial Linux Berkaitan:

  • Ujian penanda aras pemacu USB di Linux
  • Cara Prestasi Cakera Penanda Aras di Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Cara Bekerja Dengan API Rest WooCommerce dengan Python
  • Menguasai Gelung Skrip Bash
  • Membandingkan Linux Apache Prefork vs Pekerja MPMS
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Linux Apache Log Analyzer
  • Berapa kerap anda perlu reboot pelayan Linux anda?