Bagikan melalui


Konsep Kunci untuk Pengguna Baru Pengujian Beban Azure

Pelajari konsep dan komponen utama dari Azure Load Testing. Informasi ini dapat membantu Anda untuk lebih efektif mengatur pengujian beban guna mengidentifikasi masalah kinerja pada aplikasi Anda.

Konsep umum pengujian beban

Pelajari tentang konsep-konsep kunci yang terkait dengan menjalankan uji beban.

Pengguna Virtual

Sebuah pengguna virtual menjalankan kasus uji tertentu terhadap aplikasi server Anda dan bekerja secara independen dari pengguna virtual lainnya. Anda dapat menggunakan beberapa pengguna virtual untuk mensimulasikan koneksi bersamaan ke aplikasi server Anda.

Apache JMeter juga menyebut pengguna virtual sebagai utas. Dalam skrip pengujian JMeter, elemen thread group memungkinkan Anda menentukan kumpulan pengguna virtual. Pelajari tentang thread groups dalam dokumentasi Apache JMeter.

Belalang mengacu pada pengguna virtual sebagai pengguna. Anda dapat menentukan pengguna yang diperlukan untuk pengujian Anda di antarmuka web, sebagai argumen baris perintah, melalui variabel lingkungan, atau melalui file konfigurasi. Untuk informasi lebih lanjut, lihat opsi konfigurasi di dokumentasi Locust.

Jumlah total pengguna virtual untuk pengujian beban Anda tergantung pada jumlah pengguna virtual dalam skrip pengujian dan jumlah instans mesin pengujian.

Untuk pengujian beban berbasis JMeter, rumusnya adalah: Total pengguna virtual = (pengguna virtual dalam file JMX) * (jumlah instance mesin uji).

Anda dapat mencapai jumlah target pengguna virtual dengan mengonfigurasi jumlah instans mesin pengujian, jumlah pengguna virtual dalam skrip pengujian, atau kombinasi keduanya.

Untuk uji beban berdasarkan Locust, jumlah total pengguna virtual adalah jumlah pengguna yang ditentukan melalui salah satu opsi konfigurasi. Anda kemudian dapat mengonfigurasi jumlah instans mesin uji yang diperlukan untuk menghasilkan jumlah total pengguna.

Waktu ramp-up

Waktu ramp-up adalah jumlah waktu yang dibutuhkan untuk mencapai jumlah penuh pengguna virtual dalam pengujian beban. Jika jumlah pengguna virtual adalah 20, dan waktu peningkatan adalah 120 detik, maka dibutuhkan 120 detik untuk sampai ke semua 20 pengguna virtual. Setiap pengguna virtual akan mulai 6 (120/20) detik setelah pengguna sebelumnya dimulai.

Untuk Locust, Anda dapat mengonfigurasi peningkatan bertahap menggunakan tingkat kemunculan. Tingkat kemunculan adalah jumlah pengguna yang ditambahkan per detik. Misalnya, jika jumlah pengguna adalah 20 dan tingkat spawn adalah 2, 2 pengguna akan ditambahkan setiap detik dan dibutuhkan 10 detik untuk sampai ke semua 20 pengguna.

Waktu respons

Waktu respons permintaan individu, atau waktu yang berlalu di JMeter, adalah total waktu dari tepat sebelum mengirim permintaan tepat setelah respons terakhir diterima. Waktu respons tidak termasuk waktu untuk memproses tampilan respons. Kode klien apa pun, seperti JavaScript, tidak diproses selama pengujian beban.

Keterlambatan

Latensi permintaan individu adalah total waktu dari sebelum permintaan dikirim hingga setelah tanggapan pertama diterima. Latensi mencakup semua pemrosesan yang diperlukan untuk merakit permintaan dan merakit bagian pertama dari respons.

Permintaan per detik (RPS)

Permintaan per detik (RPS), atau throughput, adalah jumlah total permintaan ke aplikasi server yang dihasilkan pengujian beban Anda per detik.

Rumusnya adalah: RPS = (jumlah permintaan) / (total waktu dalam detik).

Waktu dihitung dari awal sampel pertama hingga akhir sampel terakhir. Waktu ini mencakup setiap interval antara sampel, misalnya jika skrip uji mengandung pengatur waktu.

Cara lain untuk menghitung RPS adalah berdasarkan latensi rata-rata aplikasi dan jumlah pengguna virtual. Untuk mensimulasikan jumlah RPS tertentu dengan uji beban, berdasarkan latensi aplikasi, Anda kemudian dapat menghitung jumlah pengguna virtual yang diperlukan.

Rumusnya adalah: Pengguna virtual = (RPS) * (latensi dalam detik).

Misalnya, dengan latensi aplikasi sebesar 20 milidetik (0,02 detik), untuk mensimulasikan 100.000 RPS, Anda harus mengkonfigurasi pengujian beban dengan 2.000 pengguna virtual (100.000 * 0,02).

Komponen Azure Load Testing

Pelajari konsep dan komponen utama dari Azure Load Testing. Diagram berikut memberikan gambaran tentang bagaimana berbagai konsep saling berhubungan.

Diagram yang menunjukkan bagaimana berbagai konsep dalam Pengujian Beban Azure saling terkait.

Sumber daya pengujian beban

Sumber daya pengujian beban Azure adalah sumber daya tingkat atas untuk aktivitas pengujian beban Anda. Sumber daya ini menyediakan tempat terpusat untuk melihat dan mengelola uji beban, hasil uji, dan artefak terkait.

Ketika Anda membuat sumber daya uji beban, Anda menentukan lokasinya, yang menentukan lokasi dari mesin uji. Azure Load Testing secara otomatis mengenkripsi semua artefak di sumber daya Anda. Anda dapat memilih antara kunci yang dikelola oleh Microsoft atau menggunakan kunci yang dikelola pelanggan sendiri untuk enkripsi.

Untuk menjalankan uji beban aplikasi Anda, tambahkan uji ke sumber daya pengujian beban Anda. Sumber daya dapat berisi nol atau lebih tes.

Anda dapat menggunakan Azure role-based access control untuk memberikan akses ke sumber daya pengujian beban Anda dan artefak terkait.

Azure Load Testing memungkinkan Anda untuk menggunakan identitas terkelola untuk berbagai tujuan, seperti mengakses Azure Key Vault untuk menyimpan parameter rahasia atau sertifikat uji beban, mengakses metrik Azure Monitor untuk mengonfigurasi kriteria kegagalan, atau mensimulasikan aliran autentikasi berbasis identitas terkelola.

Ujian

Sebuah tes menjelaskan konfigurasi pengujian beban untuk aplikasi Anda. Anda menambahkan pengujian ke sumber daya pengujian beban Azure yang sudah ada.

Sebuah tes berisi rencana pengujian, yang menjelaskan langkah-langkah untuk memanggil titik akhir aplikasi. Anda dapat menentukan rencana pengujian dengan salah satu dari tiga cara:

Azure Load Testing mendukung semua protokol komunikasi yang didukung JMeter dan Locust, tidak hanya titik akhir berbasis HTTP. Misalnya, Anda mungkin ingin membaca dari atau menulis ke database atau antrean pesan dalam skrip pengujian.

Azure Load Testing saat ini tidak mendukung kerangka kerja pengujian lain daripada Apache JMeter dan Locust.

Pengujian ini juga menentukan pengaturan konfigurasi untuk menjalankan pengujian beban:

Selain itu, Anda dapat mengunggah file data input CSV dan file konfigurasi uji ke pengujian beban.

Ketika Anda memulai pengujian, Azure Load Testing menerapkan skrip pengujian, file terkait, dan konfigurasi ke instance mesin pengujian. Kemudian, instance mesin uji memulai skrip pengujian untuk mensimulasikan beban aplikasi.

Setiap kali Anda memulai sebuah tes, Azure Load Testing membuat sebuah pengujian tes dan melampirkannya ke tes tersebut.

Uji coba

Sebuah uji coba mewakili satu pelaksanaan dari pengujian beban. Saat Anda menjalankan uji coba, uji coba tersebut berisi salinan pengaturan konfigurasi dari pengujian yang terkait.

Setelah pengujian selesai, Anda dapat melihat dan menganalisis hasil uji beban di dasbor Azure Load Testing dalam portal Azure.

Sebagai alternatif, Anda dapat mengunduh log uji dan mengekspor file hasil uji.

Penting

Ketika Anda memperbarui sebuah tes, hasil tes yang sudah ada tidak secara otomatis mewarisi pengaturan baru dari tes tersebut. Pengaturan baru hanya digunakan oleh uji coba baru saat Anda menjalankan pengujian. Jika Anda menjalankan ulang test run yang sudah ada, pengaturan asli dari test run tersebut akan digunakan.

Mesin uji

Mesin pengujian adalah infrastruktur komputasi yang dikelola oleh Microsoft untuk menjalankan skrip pengujian. Instans mesin pengujian menjalankan skrip pengujian secara paralel. Anda dapat memperluas skala pengujian beban Anda dengan mengonfigurasi jumlah instance mesin uji. Pelajari cara mengonfigurasi jumlah pengguna virtual, atau mensimulasikan jumlah target permintaan per detik.

Mesin uji dihosting di lokasi yang sama dengan sumber daya Azure Load Testing Anda. Anda dapat mengonfigurasi wilayah Azure saat Anda membuat sumber daya pengujian beban Azure.

Azure Load Testing menggunakan komputer virtual ukuran Standard_D4d_v4 dengan empat vCPU, memori 16GB, dan sistem operasi Azure Linux sebagai mesin uji. Untuk pengujian berbasis JMeter, mesin uji menggunakan JDK 21 dan Apache JMeter versi 5.6.3. Untuk pengujian berbasis Locust, mesin uji menggunakan Python 3.9.19 dan Locust versi 2.33.2.

Saat skrip pengujian berjalan, Azure Load Testing mengumpulkan dan menggabungkan log kerangka kerja pengujian dari semua instance mesin penguji. Anda dapat mengunduh log untuk menganalisis kesalahan selama pengujian beban.

Komponen aplikasi

Saat Anda menjalankan pengujian beban untuk aplikasi yang di-host di Azure, Anda dapat memantau metrik sumber daya untuk berbagai komponen aplikasi Azure (metrik sisi server). Ketika uji beban dijalankan, dan setelah selesai, Anda dapat memantau dan menganalisis metrik sumber daya di dasbor Azure Load Testing.

Ketika Anda membuat atau memperbarui pengujian beban, Anda dapat mengonfigurasi daftar komponen aplikasi yang akan dipantau oleh Azure Load Testing. Anda dapat mengubah daftar metrik sumber daya default untuk setiap komponen aplikasi.

Pelajari lebih lanjut tentang jenis sumber daya Azure yang didukung oleh Azure Load Testing.

Metode pengukuran

Selama pengujian beban, Azure Load Testing mengumpulkan metrik tentang pelaksanaan pengujian. Ada dua jenis metrik:

  • Metrik sisi-klien dilaporkan oleh mesin pengujian. "Metrik ini mencakup jumlah pengguna virtual, waktu respons permintaan, jumlah permintaan yang gagal, atau jumlah permintaan per detik." Anda dapat mendefinisikan kriteria kegagalan tes berdasarkan metrik sisi klien ini.

  • Metrik sisi server tersedia untuk aplikasi yang di-host di Azure dan menyediakan informasi tentang komponen aplikasi Azure Anda. Azure Load Testing terintegrasi dengan Azure Monitor, termasuk Wawasan Aplikasi dan wawasan Kontainer, untuk mengambil detail dari layanan Azure. Tergantung pada jenis layanan, metrik yang berbeda tersedia. Misalnya, metrik dapat untuk jumlah pembacaan database, jenis respons HTTP, atau konsumsi sumber daya kontainer. Anda dapat menentukan kriteria kegagalan pengujian berdasarkan metrik sisi server ini juga.

Anda sekarang mengetahui konsep utama dari Pengujian Beban Azure untuk mulai membuat pengujian beban.