全部产品
Search
文档中心

Performance Testing:Contoh distribusi throughput konstan

更新时间:Jun 29, 2025

Timer throughput konstan biasanya digunakan untuk mengontrol throughput. Anda dapat memilih mode komputasi berdasarkan tujuan bisnis dari skrip uji stres. Saat menggunakan generator beban terdistribusi untuk uji stres, pastikan nilai parameter dan mode dalam skrip dikonfigurasi dengan benar sesuai model uji stres yang digunakan. Topik ini menjelaskan dua mode komputasi umum serta kinerja adaptasi terdistribusi dari masing-masing mode.

Informasi latar belakang

Mode adaptasi terdistribusi tersedia dalam dua jenis: global dan tunggal. Dalam contoh ini, dua alamat IP digunakan untuk mensimulasikan 100 pengguna virtual dalam grup utas. Target throughput diatur menjadi 100 permintaan per menit, dengan mode komputasi Hanya Utas Ini.

  • Dalam mode adaptasi terdistribusi global, ambang batas dalam skrip berlaku sebagai total ambang batas untuk semua generator beban dalam kluster. Ambang batas untuk satu generator beban dihitung dengan rumus: Ambang batas dalam skrip / Jumlah alamat IP. Total target throughput adalah: 2 × (Pengguna Virtual/2) × (Target Throughput/2) = 5.000 permintaan per menit.

  • Dalam mode adaptasi terdistribusi tunggal, ambang batas dalam skrip berlaku untuk setiap generator beban. Pastikan tingkat beban pengguna virtual sesuai dengan nilai yang dikonfigurasi. Total target throughput dihitung dengan rumus: 2 × (Pengguna Virtual/2) × Target Throughput = 10.000 permintaan per menit.

Skenario

Umumnya, Anda dapat mengonfigurasi ambang batas throughput untuk sampler, grup utas, atau seluruh skenario jika beberapa grup utas tersedia. Kami menyarankan agar tidak mengonfigurasi ambang batas throughput pada granularitas yang kompleks. Dalam contoh ini, dua alamat IP digunakan untuk mensimulasikan 100 pengguna virtual dalam grup utas. Target throughput diatur menjadi 100 permintaan per menit.

Skenario 1: Konfigurasikan ambang batas throughput untuk sampler

  1. Masuk ke PTS console, pilih Performance Test > Create Scenario, lalu klik JMeter.

  2. Di bagian Advanced Settings, pilih Single Generator untuk Constant Throughput Timer.

    Catatan

    Parameter di bagian Distributed Adaptation pada tab Scenario Configuration hanya ditampilkan jika timer dikonfigurasi dalam skrip yang Anda unggah.

    单机生效

  3. Dalam skrip JMeter, letakkan Constant Throughput Timer di bawah Sampler.

  4. Atur parameter Target Throughput menjadi 100, dalam menit. Pilih this thread only untuk Calculate Throughput based on, seperti yang ditunjukkan pada gambar berikut.image

Skenario 2: Konfigurasikan ambang batas throughput untuk grup utas

  1. Masuk ke PTS console, pilih Performance Test > Create Scenario, lalu klik JMeter.

  2. Di bagian Advanced Settings, pilih Global untuk Constant Throughput Timer.

    Catatan

    Parameter di bagian Distributed Adaptation pada tab Scenario Configuration hanya ditampilkan jika timer dikonfigurasi dalam skrip yang Anda unggah.

    全局生效

  3. Dalam skrip JMeter, letakkan Constant Throughput Timer di bawah Thread Group.

  4. Atur parameter Target Throughput menjadi 100, dalam menit. Pilih all active threads in current thread group untuk Calculate Throughput based on, seperti yang ditunjukkan pada gambar berikut.image

Lima mode komputasi

Dalam contoh ini, satu generator beban digunakan untuk mensimulasikan dua grup utas yang masing-masing berisi 100 pengguna virtual dan 200 pengguna virtual. Dua sampler dikonfigurasi untuk setiap grup utas. Dalam skrip, target throughput diatur menjadi 100 permintaan per menit.

Catatan

Contoh ini hanya untuk referensi. Untuk informasi lebih lanjut, lihat Dokumentasi Apache JMeter.

Mode Komputasi

Deskripsi

Catatan

this thread only

Target throughput berlaku untuk setiap utas. Total throughput untuk grup utas dihitung dengan rumus: Pengguna virtual × Target throughput.

Tidak ada throughput yang tersedia untuk utas yang idle. Anda dapat menghitung throughput untuk setiap sampler dengan rumus berikut:

  • Sampler 1.1 dan Sampler 1.2 dalam Grup Utas 1: Pengguna virtual × Target throughput = 100 × 100/60 ≈ 166 permintaan per detik. Throughput untuk setiap sampler sekitar 83 permintaan per detik.

  • Sampler 2.1 dan Sampler 2.2 dalam Grup Utas 2: Pengguna virtual × Target throughput = 200 × 100/60 ≈ 320 permintaan per detik. Throughput untuk setiap sampler sekitar 160 permintaan per detik.

  • Anda dapat mengonfigurasi throughput untuk satu sampler untuk mencapai kontrol throughput tingkat sampler.

All active threads

Target throughput yang dikonfigurasi berlaku untuk semua utas aktif di semua grup utas. Setelah sebuah utas berakhir, utas tersebut menunggu selama periode waktu tertentu lalu berjalan lagi. Ini membantu mengontrol throughput.

Jika beberapa grup utas tersedia, perhatikan hal berikut:

  • Sampler pertama dalam grup utas berjalan pertama kali, sehingga throughput sampler kedua sangat rendah. Target throughput dikonfigurasi pada level grup utas. Throughput per utas adalah 1 permintaan per menit dan 2 permintaan per menit, masing-masing. Akibatnya, throughput untuk sampler kedua menurun.

  • Target throughput untuk setiap grup utas adalah 100 permintaan per menit, dan throughput global adalah 200 permintaan per menit.

  • Setelah periode waktu berjalan, jumlah permintaan yang dikirim oleh setiap sampler dalam grup utas sama, yang sama dengan jumlah pengguna virtual. Dalam hal ini, throughput sampler dalam setiap grup utas seimbang.

All active threads in current thread group

Target throughput yang dikonfigurasi berlaku untuk utas aktif dalam grup utas saat ini. Setelah sebuah utas berakhir, utas tersebut menunggu selama periode waktu tertentu lalu berjalan lagi. Ini membantu mengontrol throughput.

Jika hanya satu grup utas yang tersedia, aturan yang sama dengan mode komputasi sebelumnya berlaku. Perhatikan hal berikut:

  • Konfigurasi kedua timer sama. Oleh karena itu, aturan yang sama dengan mode komputasi sebelumnya berlaku.

  • Anda dapat mengontrol throughput setiap grup utas jika Anda mengubah target throughput untuk timer kedua menjadi 200 permintaan per menit.

All active threads (shared)

Target throughput yang dikonfigurasi berlaku untuk semua utas aktif di semua grup utas. Setelah semua utas aktif berakhir, semua utas menunggu selama periode waktu tertentu lalu berjalan lagi. Ini membantu mengontrol throughput.

Anda dapat mencapai performa serupa ketika memilih Delay dari daftar drop-down Add Instruction dalam seluruh skenario. Utas dapat berjalan lagi setelah semua utas aktif berakhir. Perhatikan hal berikut:

  • Selama uji stres, data dari beberapa sampler tidak berubah pada saat yang sama.

  • Utas yang telah memulai permintaan ditangguhkan pada sampler pertama.

  • Target throughput untuk seluruh skenario adalah 100 permintaan per menit, dan konfigurasi beberapa timer konsisten.

All active threads in current thread group (shared)

Target throughput yang dikonfigurasi berlaku untuk semua utas aktif dalam grup utas saat ini. Setelah semua utas aktif berakhir, semua utas menunggu selama periode waktu tertentu lalu berjalan lagi. Ini membantu mengontrol throughput.

Setelah semua utas aktif dalam grup utas saat ini berakhir, utas tersebut menunggu selama periode waktu tertentu lalu berjalan lagi.

  • Target throughput untuk grup utas saat ini adalah 100 permintaan per menit. Setiap utas berjalan berdasarkan kolaborasi dengan utas aktif lainnya dalam grup utas saat ini.

  • Anda dapat mengonfigurasi dan mengontrol throughput untuk setiap grup utas secara terpisah.

Adaptasi terdistribusi untuk mode komputasi lainnya

Mode Komputasi

Skenario

Mode Global

Mode Tunggal

All active threads

Mode komputasi ini cocok untuk seluruh skenario di mana throughput dikontrol. Model bisnis dari beberapa grup utas serupa. Throughput seluruh skenario tetap. Dengan cara ini, throughput dapat didistribusikan secara merata ke setiap grup utas.

Sebuah generator beban digunakan untuk mensimulasikan 50 pengguna virtual. Throughput generator beban adalah 50 permintaan per menit, yang diperoleh dengan membagi target throughput dengan 2. Throughput global tetap 100 permintaan per menit. Throughput diakumulasikan jika beberapa grup utas tersedia.

Sebuah generator beban digunakan untuk mensimulasikan 50 pengguna virtual. Throughput generator beban adalah 100 permintaan per menit. Throughput global adalah 200 permintaan per menit, yang diperoleh dengan mengalikan target throughput dengan jumlah alamat IP. Throughput diakumulasikan jika beberapa grup utas tersedia.

All active threads (shared)

Throughput berlaku untuk seluruh skenario tetapi bukan grup utas. Throughput sedikit lebih rendah daripada nilai akumulasi dari beberapa grup utas.

Throughput adalah 100 permintaan per menit untuk Grup Utas 1 dan 200 permintaan per menit untuk Grup Utas 2. Throughput global adalah 150 permintaan per menit, yang merupakan nilai rata-rata dari dua grup utas.

Throughput adalah 100 permintaan per menit untuk Grup Utas 1 dan 200 permintaan per menit untuk Grup Utas 2. Throughput untuk generator beban adalah 150, yang dihitung dengan rumus berikut: (100 + 200)/2. Throughput global adalah 300 permintaan per menit. Dibutuhkan waktu lama bagi beberapa sampler dari generator beban untuk mencapai keseimbangan.

All active threads in current thread group (shared)

Throughput berlaku untuk semua utas aktif dalam grup utas. Throughput global sedikit lebih rendah daripada nilai akumulasi dari beberapa grup utas.

Jika throughput adalah 100 permintaan per menit untuk Grup Utas 1 dan 200 permintaan per menit untuk Grup Utas 2, throughput global adalah 300 permintaan per menit, yang merupakan nilai akumulasi untuk Grup Utas 1 dan Grup Utas 2.

Jika throughput adalah 100 permintaan per menit untuk Grup Utas 1 dan 200 permintaan per menit untuk Grup Utas 2, throughput untuk generator beban adalah 300 permintaan per menit, dan throughput global adalah 600 permintaan per menit. Dibutuhkan waktu singkat bagi beberapa sampler dari generator beban untuk mencapai keseimbangan.