Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
General concepts of load testing
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 also refers to virtual users as threads. Dalam skrip pengujian JMeter, elemen thread group memungkinkan Anda menentukan kumpulan pengguna virtual. Pelajari tentang thread groups dalam dokumentasi Apache JMeter.
Locust refers to virtual users as users. 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.
The total number of virtual users for your load test depends on the number of virtual users in the test script and the number of test engine instances.
Untuk pengujian beban berbasis JMeter, rumusnya adalah: Total pengguna virtual = (pengguna virtual dalam file JMX) * (jumlah instance mesin uji).
You can achieve the target number of virtual users by configuring the number of test engine instances, the number of virtual users in the test script, or a combination of both.
Untuk uji beban berdasarkan Locust, jumlah total pengguna virtual adalah jumlah pengguna yang ditentukan melalui salah satu opsi konfigurasi. You can then configure the number of test engine instances required to generate the total number of users.
Ramp-up time
Waktu ramp-up adalah jumlah waktu yang dibutuhkan untuk mencapai jumlah penuh pengguna virtual dalam pengujian beban. If the number of virtual users is 20, and the ramp-up time is 120 seconds, then it takes 120 seconds to get to all 20 virtual users. Each virtual user will start 6 (120/20) seconds after the previous user was started.
Untuk Locust, Anda dapat mengonfigurasi peningkatan bertahap menggunakan tingkat kemunculan. Tingkat kemunculan adalah jumlah pengguna yang ditambahkan per detik. For example, if the number of users is 20 and the spawn rate is 2, 2 users will get added every second and it takes 10 seconds to get to all the 20 users.
Response time
The response time of an individual request, or elapsed time in JMeter, is the total time from just before sending the request to just after the last response is received. 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. Latency includes all the processing needed to assemble the request and assembling the first part of the response.
Requests per second (RPS)
Requests per second (RPS), or throughput, is the total number of requests to the server application that your load test generates per second.
Rumusnya adalah: RPS = (jumlah permintaan) / (total waktu dalam detik).
The time is calculated from the start of the first sample to the end of the last sample. 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 tentang konsep dan komponen utama Azure Load Testing. Diagram berikut memberikan gambaran tentang bagaimana berbagai konsep saling berhubungan.
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. You add a test to an existing Azure load testing resource.
Sebuah tes berisi rencana pengujian, yang menjelaskan langkah-langkah untuk memanggil titik akhir aplikasi. You can define the test plan in one of three ways:
Azure Load Testing supports all communication protocols that JMeter and Locust support, not only HTTP-based endpoints. For example, you might want to read from or write to a database or message queue in the test script.
Azure Load Testing saat ini tidak mendukung kerangka kerja pengujian lain daripada Apache JMeter dan Locust.
The test also specifies the configuration settings for running the load test:
- Load test parameters, such as environment variables, secrets, and certificates.
- Muat konfigurasi untuk memperluas uji beban Anda di beberapa instance mesin pengujian.
- Kriteria kegagalan untuk menentukan kapan tes harus lulus atau gagal.
- Pengaturan pemantauan untuk mengonfigurasi daftar komponen aplikasi Azure dan metrik sumber daya yang akan dipantau selama pelaksanaan uji coba.
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. When you run a test, the test run contains a copy of the configuration settings from the associated test.
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. The new settings are only used by new test runs when you run the test. 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. The test engine instances run the test script in parallel. 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.
Konten terkait
Anda sekarang mengetahui konsep utama dari Pengujian Beban Azure untuk mulai membuat pengujian beban.
- Pelajari cara Azure Load Testing bekerja.
- Pelajari cara untuk Membuat dan menjalankan uji beban berdasarkan URL untuk sebuah situs web.
- Pelajari cara mengidentifikasi kemacetan kinerja dalam aplikasi Azure.
- Pelajari cara menyiapkan pengujian regresi otomatis dengan CI/CD.