Bagikan melalui


Apa itu Azure Load Testing?

Azure Load Testing adalah layanan pengujian beban terkelola penuh yang memungkinkan Anda menghasilkan beban skala tinggi. Layanan ini mensimulasikan lalu lintas untuk aplikasi Anda, terlepas dari di mana mereka dihosting. Pengembang, penguji, dan teknisi jaminan kualitas (QA) dapat menggunakannya untuk mengoptimalkan performa, skalabilitas, atau kapasitas aplikasi.

Buat pengujian beban untuk aplikasi web Anda dengan cepat menggunakan URL, dan tanpa sepengetahuan sebelumnya tentang alat pengujian. Azure Load Testing mengabstraksi kompleksitas dan infrastruktur untuk menjalankan pengujian beban Anda dalam skala besar.

Untuk skenario pengujian beban yang lebih canggih, Anda juga dapat membuat pengujian beban dengan mengunggah skrip pengujian. Azure Load Testing mendukung menjalankan pengujian berbasis Apache JMeter atau pengujian berbasis Locust. Misalnya, paket pengujian Anda mungkin terdiri dari beberapa permintaan aplikasi, Anda ingin memanggil titik akhir non-HTTP, atau Anda menggunakan data input dan parameter untuk membuat pengujian lebih dinamis.

Jika aplikasi Anda dihosting di Azure, Azure Load Testing mengumpulkan metrik sumber daya terperinci untuk membantu Anda mengidentifikasi hambatan performa di seluruh komponen aplikasi Azure Anda.

Untuk menangkap regresi performa aplikasi lebih awal, tambahkan pengujian beban Anda di alur kerja integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD). Manfaatkan kriteria kegagalan pengujian untuk menentukan dan memvalidasi persyaratan kualitas aplikasi Anda.

Azure Load Testing memungkinkan Anda menguji titik akhir aplikasi privat atau aplikasi yang Anda host secara lokal. Untuk informasi selengkapnya, lihat skenario untuk menyebarkan Azure Load Testing di jaringan virtual.

Diagram berikut menunjukkan gambaran umum arsitektur Azure Load Testing.

Diagram yang memperlihatkan arsitektur Azure Load Testing.

Catatan

Gambar gambaran umum menunjukkan bagaimana Azure Load Testing menggunakan Azure Monitor untuk mengambil metrik untuk komponen aplikasi. Pelajari selengkapnya tentang jenis sumber daya Azure yang didukung.

Pelajari selengkapnya tentang konsep utama untuk Azure Load Testing.

Skenario penggunaan

Azure Load Testing dapat menggunakan kerangka kerja pengujian Apache JMeter atau Locust dan mendukung berbagai jenis aplikasi dan protokol komunikasi. Daftar berikut ini menyediakan contoh jenis aplikasi atau titik akhir yang didukung:

  • Aplikasi web, menggunakan HTTP atau HTTPS
  • REST API
  • Database melalui JDBC
  • Titik akhir berbasis TCP

Untuk JMeter, Anda dapat menggunakan plugin JMeter dalam skrip pengujian, Anda dapat memuat lebih banyak jenis aplikasi pengujian.

Dengan pengalaman pengujian cepat, Anda dapat menguji satu titik akhir HTTP berbasis URL. Dengan mengunggah skrip JMeter, Anda dapat menggunakan semua protokol komunikasi yang didukung JMeter.

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

Mengidentifikasi hambatan performa dengan menggunakan pengujian beban skala tinggi

Masalah performa sering tetap tidak terdeteksi sampai aplikasi berada di bawah beban. Anda dapat memulai pengujian beban skala tinggi di portal Azure untuk mempelajari lebih cepat bagaimana aplikasi Anda berulah di bawah tekanan. Saat pengujian berjalan, dasbor Azure Load Testing menyediakan pembaruan langsung metrik klien dan sisi server.

Setelah pengujian beban selesai, Anda dapat menggunakan dasbor untuk menganalisis hasil pengujian dan mengidentifikasi hambatan performa. Untuk aplikasi yang dihosting Azure, dasbor menampilkan metrik sumber daya terperinci dari komponen aplikasi Azure. Mulai dengan tutorial untuk mengidentifikasi hambatan performa untuk aplikasi yang dihosting Azure.

Azure Load Testing menyimpan riwayat uji coba dan memungkinkan Anda membandingkan beberapa eksekusi secara visual untuk mendeteksi regresi performa dari waktu ke waktu.

Anda juga dapat mengunduh hasil pengujian untuk analisis di alat pihak ketiga.

Mengaktifkan pengujian beban otomatis

Anda dapat mengintegrasikan Azure Load Testing di alur CI/CD Anda pada titik yang bermakna selama siklus hidup pengembangan. Misalnya, Anda dapat secara otomatis menjalankan pengujian beban di akhir setiap sprint atau di lingkungan penahapan untuk memvalidasi build kandidat rilis.

Mulailah dengan menambahkan pengujian beban ke alur kerja CI/CD Anda untuk mengidentifikasi penurunan performa aplikasi Anda dengan cepat di bawah beban.

Dalam konfigurasi pengujian, tentukan kriteria gagal pengujian untuk menangkap performa aplikasi atau regresi stabilitas di awal siklus pengembangan. Misalnya, dapatkan pemberitahuan saat waktu respons rata-rata atau jumlah kesalahan melebihi ambang tertentu.

Azure Load Testing akan secara otomatis menghentikan pengujian beban otomatis sebagai respons terhadap kondisi kesalahan tertentu. Secara bergantian, Anda juga dapat menggunakan pendengar AutoStop di skrip Apache JMeter Anda. Secara otomatis menghentikan perlindungan terhadap pengujian yang gagal menimbulkan biaya lebih lanjut, misalnya, karena URL titik akhir yang salah dikonfigurasi. Pelajari cara mengonfigurasi pemberhentian otomatis untuk pengujian beban Anda.

Anda dapat memicu Azure Load Testing dari alur kerja Azure Pipelines atau GitHub Actions, atau menggunakan Azure CLI untuk berintegrasi dengan alat CI lainnya.

Bagaimana cara kerja Azure Load Testing?

Azure Load Testing menggunakan Apache JMeter atau Locust untuk menjalankan pengujian beban. Anda dapat menggunakan plugin Apache JMeter dari https://jmeter-plugins.org atau mengunggah kode plugin Anda sendiri. Azure Load Testing mendukung semua protokol komunikasi yang didukung JMeter. Misalnya, gunakan Azure Load Testing untuk memuat pengujian koneksi database atau antrean pesan. Pelajari selengkapnya tentang fungsionalitas Apache JMeter yang didukung.

Mesin uji Azure Load Testing mengabstraksi infrastruktur yang diperlukan untuk menjalankan pengujian beban skala tinggi. Setiap instans mesin pengujian menjalankan skrip pengujian Anda untuk mensimulasikan sejumlah besar pengguna virtual secara bersamaan mengakses titik akhir aplikasi Anda. Saat Anda membuat pengujian beban berdasarkan URL (pengujian cepat), Azure Load Testing secara otomatis menghasilkan skrip pengujian untuk Anda. Untuk meluaskan skala pengujian beban, Anda dapat mengonfigurasi jumlah mesin uji.

Anda dapat menghosting aplikasi di bawah beban di mana saja: di Azure, lokal, atau di cloud lainnya. Untuk menjalankan pengujian beban untuk layanan yang tidak memiliki titik akhir publik, sebarkan Azure Load Testing di jaringan virtual.

Selama pengujian beban, Azure Load Testing mengumpulkan metrik sumber daya berikut dan menampilkannya di dasbor:

  • Metrik sisi klien memberi Anda detail yang dilaporkan oleh mesin uji. Detail ini mencakup jumlah pengguna virtual, waktu respons permintaan, atau jumlah permintaan per detik.

  • Metrik sisi server 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.

Azure Load Testing secara otomatis menggabungkan praktik terbaik untuk jaringan Azure untuk membantu memastikan bahwa pengujian Anda berjalan dengan aman dan andal. Pengujian beban secara otomatis dihentikan jika titik akhir aplikasi atau komponen Azure mulai membatasi permintaan.

Layanan ini secara otomatis mengenkripsi semua data yang disimpan dalam sumber daya pengujian beban Anda dengan kunci yang dikelola oleh Microsoft (kunci yang dikelola layanan). Misalnya, data ini mencakup skrip pengujian Apache JMeter atau Locust, file konfigurasi, dan lainnya. Secara bergantian, Anda juga dapat mengonfigurasi layanan untuk menggunakan kunci yang dikelola pelanggan.

Residensi data dalam wilayah

Azure Load Testing tidak menyimpan atau memproses data pelanggan di luar wilayah tempat Anda menyebarkan instans layanan.

Mulai gunakan Azure Load Testing: