Topik ini menjelaskan metrik yang digunakan dalam pengujian kinerja.
Tujuan dan pembaca yang dituju
Metrik dalam topik ini dapat digunakan sebagai kriteria evaluasi kualitas teknis proyek pengujian kinerja. Tujuannya adalah untuk menstandarkan hasil pengujian teknis dan menyatukan pengukuran kualitas pengujian teknis. Topik ini mencakup beberapa metrik utama, namun lebih banyak metrik dapat diterapkan dalam pengukuran kualitas teknis sebenarnya. Pembaca sasaran meliputi administrator pengujian, operator pengujian, personel dukungan teknis, administrator proyek, serta personel terkait kualitas teknis.
Metrik kinerja sistem
Waktu Respons
Definisi
Waktu respons mengacu pada periode waktu dari saat klien memulai permintaan hingga klien menerima respons dari server. Dalam pengujian kinerja, waktu respons dihitung dari saat tekanan beban diterapkan hingga server mengembalikan hasil. Umumnya diukur dalam detik atau milidetik. Waktu respons rata-rata adalah nilai rata-rata transaksi yang sama ketika sistem berjalan stabil. Waktu respons rata-rata biasanya digunakan untuk transaksi dan dapat dibagi menjadi waktu respons transaksi kompleks, sederhana, dan khusus. Untuk transaksi khusus, kekhususan harus dijelaskan dalam hal waktu respons.
Singkatan
Waktu Respons (RT)
Standar
Waktu respons yang dapat diterima bervariasi di berbagai industri:
Perusahaan internet: kurang dari 500 milidetik. Contohnya, Taobao memiliki waktu respons 10 milidetik.
Perusahaan keuangan: kurang dari 1 detik lebih disukai, atau kurang dari 3 detik untuk transaksi kompleks.
Perusahaan asuransi: kurang dari 3 detik.
Perusahaan manufaktur: kurang dari 5 detik.
Untuk transaksi pemrosesan batch:
Jendela waktu: durasi keseluruhan proses pengujian. Jendela waktu bergantung pada jumlah data. Sebagai contoh, jendela waktu bervariasi antara Double 11 dan Promosi 99. Jika melibatkan sejumlah besar data, pengujian dapat diselesaikan dalam waktu 2 jam.
Kapasitas Pemrosesan Sistem
Definisi
Kapasitas pemrosesan sistem mengacu pada kemampuan memproses informasi menggunakan perangkat keras dan perangkat lunak sistem. Diukur dengan jumlah transaksi yang dapat diproses sistem per detik. Transaksi dapat berupa proses bisnis dari perspektif operator atau aplikasi bisnis dan proses respons dari perspektif sistem. Metrik ini digunakan untuk mengevaluasi kemampuan pemrosesan sistem. Kami merekomendasikan penggunaan metrik yang konsisten dengan log transaksi sistem untuk memudahkan statistik transaksi. Kapasitas pemrosesan sistem merupakan metrik penting dalam aktivitas pengujian teknis.
Singkatan
Secara umum, metrik berikut dapat digunakan untuk mengukur kapasitas pemrosesan sistem:
Klik per Detik (HPS): jumlah klik per detik.
Transaksi per Detik (TPS): jumlah transaksi yang diproses oleh sistem per detik.
Permintaan per Detik (QPS): jumlah permintaan yang diproses oleh sistem per detik. Untuk bisnis internet, jika hanya satu koneksi permintaan yang dibuat dalam aplikasi, maka TPS, QPS, dan HPS adalah sama. Secara umum, TPS mengukur seluruh proses bisnis, QPS mengukur jumlah permintaan API, dan HPS menunjukkan permintaan klik yang dikirim ke server.
Standar
Baik TPS, QPS, maupun HPS, nilai besar menunjukkan kapasitas pemrosesan sistem yang tinggi. Secara umum, nilai-nilai berikut dapat diterima:
Perusahaan keuangan: 1.000 TPS hingga 50.000 TPS, tidak termasuk aktivitas berbasis internet.
Perusahaan asuransi: 100 TPS hingga 100.000 TPS, tidak termasuk aktivitas berbasis internet.
Perusahaan manufaktur: 10 TPS hingga 5.000 TPS.
Perusahaan e-commerce: 10.000 TPS hingga 1.000.000 TPS.
Situs web internet menengah: 1.000 TPS hingga 50.000 TPS.
Situs web internet kecil: 500 TPS hingga 10.000 TPS.
Pengguna Bersamaan
Definisi
Pengguna bersamaan mengacu pada pengguna yang masuk ke sistem dan melakukan operasi pada titik waktu tertentu. Untuk sistem yang menggunakan koneksi persisten, jumlah maksimum pengguna bersamaan mewakili kemampuan konkurensi sistem. Untuk sistem yang menggunakan koneksi singkat, jumlah maksimum pengguna bersamaan tidak sama dengan kemampuan konkurensi sistem, yang juga bergantung pada arsitektur sistem dan kapasitas pemrosesan sistem. Mode TPS (atau mode RPS) cocok untuk sebagian besar sistem yang menggunakan koneksi singkat. PTS mendukung pengujian dalam mode RPS untuk memudahkan pengaturan dan pengukuran throughput. Dalam pengujian, pengguna virtual digunakan untuk mensimulasikan pengguna dunia nyata.
Singkatan
Pengguna Virtual (VU)
Standar
Pengujian kinerja umumnya dilakukan untuk mengukur kapasitas pemrosesan sistem, bukan jumlah pengguna bersamaan. Kecuali jika koneksi panjang server memengaruhi jumlah pengguna bersamaan, kapasitas pemrosesan sistem tidak bergantung pada jumlah pengguna bersamaan. Dalam pengujian kapasitas pemrosesan sistem, Anda dapat menggunakan sejumlah kecil atau besar pengguna bersamaan.
Rasio Kegagalan
Definisi
Rasio kegagalan mengacu pada probabilitas transaksi gagal ketika tekanan beban diterapkan pada sistem. Tingkat kegagalan = (Jumlah transaksi gagal / Total jumlah transaksi) × 100%. Untuk sistem yang stabil, kegagalan permintaan disebabkan oleh timeout sehingga rasio kegagalan sama dengan tingkat timeout.
Singkatan
Rasio Kegagalan (FR)
Standar
Sistem yang berbeda memiliki persyaratan yang berbeda untuk rasio kegagalan. Secara umum, kurang dari 6‰ dapat diterima, dengan tingkat keberhasilan 99,4% atau lebih tinggi.
Metrik sumber daya
CPU
Definisi
Unit pemrosesan pusat adalah sirkuit terpadu yang sangat besar dan merupakan inti komputasi serta unit kontrol komputer. CPU digunakan untuk menafsirkan instruksi komputer dan memproses data dalam perangkat lunak komputer. Beban CPU mengukur panjang antrian permintaan dalam sistem dan merupakan beban sistem rata-rata.
Singkatan
Central Processing Unit (CPU)
Standar
Pemanfaatan CPU diukur dalam empat mode: pengguna, sys, tunggu, dan idle. Ambang pemanfaatan CPU adalah 75%. Ambang CPU sys% adalah 30% dan ambang CPU tunggu% adalah 5%. Bahkan CPU single-core harus mematuhi persyaratan di atas. Beban CPU harus kurang dari jumlah core CPU.
Memori
Definisi
Memori adalah salah satu komponen penting dalam komputer dan merupakan jembatan untuk berkomunikasi dengan CPU. Semua program dalam komputer berjalan di memori, sehingga memori memiliki dampak besar pada kinerja komputer.
Singkatan
Tidak tersedia
Standar
Untuk memaksimalkan penggunaan memori, cache ditambahkan ke memori dalam sistem operasi modern. Oleh karena itu, pemanfaatan memori 100% tidak selalu berarti adanya bottleneck memori. Penggunaan swap sering digunakan untuk mengukur bottleneck memori. Secara umum, penggunaan swap harus lebih rendah dari 70%. Jika tidak, kinerja sistem mungkin terpengaruh.
Throughput Disk
Definisi
Throughput disk adalah jumlah data yang melewati disk per satuan waktu tanpa kegagalan disk.
Singkatan
Tidak tersedia
Standar
Metrik disk mencakup IOPS, persentase kesibukan disk, jumlah antrian disk, waktu layanan rata-rata, waktu tunggu rata-rata, dan penggunaan disk. Persentase kesibukan disk secara langsung mencerminkan apakah disk memiliki bottleneck. Secara umum, persentase kesibukan disk harus lebih rendah dari 70%.
Throughput Jaringan
Definisi
Throughput jaringan mengacu pada jumlah data yang melewati jaringan per satuan waktu tanpa kegagalan jaringan. Satuan: byte/detik. Throughput jaringan mengukur kebutuhan sistem terhadap kapasitas transmisi perangkat atau tautan jaringan. Ketika kapasitas transmisi maksimum perangkat atau tautan jaringan hampir tercapai, Anda harus meningkatkan perangkat jaringan.
Singkatan
Tidak tersedia
Standar
Mbps adalah metrik utama untuk throughput jaringan. Secara umum, tidak boleh melebihi 70% dari kapasitas transmisi maksimum perangkat atau tautan jaringan.
Parameter Kernel
Parameter kernel sistem operasi terutama mencakup semaphore, proses, dan pegangan file. Tabel berikut menjelaskan parameter kernel ini.
Metrik level-1
Metrik level-2
Satuan
Deskripsi
Parameter kernel
Maxuprc
Tidak tersedia
Jumlah maksimum proses per pengguna.
Max_thread_proc
Tidak tersedia
Jumlah maksimum thread yang tersedia untuk setiap proses.
Filecache_max
Bytes
Memori fisik maksimum yang tersedia untuk cache file I/O.
Ninode
Tidak tersedia
Jumlah maksimum inode dalam memori yang tersedia untuk HFS.
Nkthread
Tidak tersedia
Jumlah maksimum thread yang berjalan secara bersamaan.
Nproc
Tidak tersedia
Jumlah maksimum proses yang berjalan secara bersamaan.
Nstrpty
Tidak tersedia
Jumlah maksimum pseudo terminal slave (PTS) berbasis stream.
Maxdsiz
Bytes
Ukuran data maksimum (dalam byte) per proses.
maxdsiz_64bit
Bytes
Ukuran data maksimum (dalam byte) per proses.
maxfiles_lim
Tidak tersedia
Jumlah maksimum deskriptor file per proses
maxssiz_64bit
Bytes
Ukuran stack maksimum per proses.
Maxtsiz
Bytes
Ukuran teks maksimum per proses.
nflocks
Tidak tersedia
Jumlah maksimum kunci file.
maxtsiz_64bit
Bytes
Ukuran teks maksimum per proses.
msgmni
Tidak tersedia
Jumlah maksimum antrian pesan IPC System V (ID).
msgtql
Tidak tersedia
Jumlah maksimum pesan IPC System V.
npty
Tidak tersedia
Jumlah maksimum BSD pseudo TTY (PTY).
nstrtel
Tidak tersedia
Jumlah file perangkat telnet yang didukung oleh kernel.
nswapdev
Tidak tersedia
Jumlah maksimum perangkat swap.
nswapfs
Tidak tersedia
Jumlah maksimum sistem file swap.
semmni
Tidak tersedia
Jumlah ID semaphore IPC System V.
semmns
Tidak tersedia
Jumlah semaphore IPC System V.
shmmax
Bytes
Ukuran maksimum memori bersama system v.
shmmni
Tidak tersedia
Jumlah ID memori bersama system v.
shmseg
Tidak tersedia
Ukuran maksimum memori bersama system v per proses.
Metrik middleware
Definisi
Metrik umum untuk layanan middleware (seperti Tomcat dan Weblogic) mencakup JVM, ThreadPool, dan JDBC. Tabel berikut menjelaskan metrik ini.
Metrik level-1
Metrik level-2
Satuan
Deskripsi
GC
Frekuensi GC
Tidak tersedia
Frekuensi pengumpulan sampah parsial mesin virtual Java.
Frekuensi Full GC
Tidak tersedia
Frekuensi pengumpulan sampah penuh mesin virtual Java.
Durasi rata-rata Full GC
Detik
Durasi rata-rata untuk pengumpulan sampah penuh.
Durasi maksimum Full GC
Detik
Durasi maksimum untuk pengumpulan sampah penuh.
Penggunaan heap
%
Penggunaan heap.
Thread pool
Jumlah thread aktif
Tidak tersedia
Jumlah thread aktif.
Permintaan pengguna tertunda
Tidak tersedia
Jumlah permintaan pengguna yang dimasukkan ke dalam antrian.
JDBC
Koneksi aktif JDBC
Tidak tersedia
Jumlah koneksi aktif JDBC.
Standar
Jumlah thread aktif tidak boleh melebihi nilai maksimum yang ditentukan. Secara umum, ketika kinerja sistem baik, atur nilai minimum ke 50 dan nilai maksimum ke 200.
Jumlah koneksi aktif JDBC tidak boleh melebihi nilai maksimum yang ditentukan. Secara umum, ketika kinerja sistem baik, atur nilai minimum ke 50 dan nilai maksimum ke 200.
Frekuensi GC, terutama frekuensi full GC, tidak boleh sangat tinggi. Secara umum, ketika kinerja sistem baik, atur ukuran heap JVM minimum dan maksimum ke 1024 M.
Metrik database
Definisi
Metrik umum untuk database (seperti MySQL) mencakup SQL, throughput, rasio hit cache, dan koneksi. Tabel berikut menjelaskan metrik ini.
Metrik level-1
Metrik level-2
Satuan
Deskripsi
SQL
Durasi
Mikrodetik
Durasi untuk mengeksekusi pernyataan SQL.
Throughput
QPS
Tidak tersedia
Jumlah query per detik.
TPS
Tidak tersedia
Jumlah transaksi per detik.
Rasio hit
Rasio hit buffer kunci
%
Rasio hit dari buffer indeks.
Rasio hit buffer InnoDB
%
Rasio hit dari buffer InnoDB.
Rasio hit cache query
%
Rasio hit dari cache query.
Rasio hit cache tabel
%
Rasio hit dari cache tabel.
Rasio hit cache thread
%
Rasio hit dari cache thread.
Kunci
Waits
Tidak tersedia
Jumlah tunggu kunci.
Waktu tunggu
Mikrodetik
Waktu tunggu kunci.
Standar
Durasi SQL yang kecil lebih disukai. Secara umum, dalam mikrodetik.
Rasio hit yang tinggi lebih disukai. Secara umum, tidak boleh kurang dari 95%.
Nilai kecil lebih disukai untuk jumlah tunggu kunci dan waktu tunggu kunci.
Metrik frontend
Definisi
Metrik frontend umum mencakup waktu untuk menampilkan halaman dan waktu untuk menampilkan jaringan. Tabel berikut menjelaskan metrik ini.
Metrik level-1
Metrik level-2
Satuan
Deskripsi
Tampilan halaman
First contentful paint
Milidetik
Waktu yang diperlukan untuk munculnya konten pertama di halaman web setelah Anda memasukkan URL di bilah alamat.
Waktu event onLoad
Milidetik
Waktu bagi browser untuk memicu event onLoad. Event ini dipicu ketika dokumen asli dan semua konten yang dirujuk sepenuhnya diunduh.
Waktu untuk sepenuhnya dimuat
Milidetik
Waktu untuk menyelesaikan semua program JavaScript onLoad dan memicu semua konten dinamis atau lazy-loaded oleh program tersebut.
Halaman
Ukuran halaman
KB
Ukuran seluruh halaman.
Permintaan
Tidak tersedia
Jumlah total semua permintaan jaringan saat Anda mengunduh sumber daya dari situs web. Nilai kecil lebih disukai.
Jaringan
Waktu DNS
Milidetik
Waktu pencarian DNS.
Waktu koneksi
Milidetik
Waktu untuk membentuk koneksi TCP/IP antara browser dan server web.
Waktu server
Milidetik
Waktu pemrosesan oleh server.
Waktu transmisi
Milidetik
Waktu untuk mentransmisikan konten.
Waktu tunggu
Milidetik
Waktu untuk menunggu sumber daya dilepaskan.
Standar
Ukuran halaman yang kecil lebih disukai dan kompresi dapat digunakan.
Nilai waktu tampilan halaman yang kecil lebih disukai.
Metrik stabilitas
Definisi
Waktu stabil minimum: Waktu minimum sistem dapat berjalan stabil dalam kondisi 80% dari kapasitas maksimum atau tekanan beban standar (tekanan harian yang diharapkan). Secara umum, untuk sistem yang beroperasi pada hari kerja (8 jam), harus berjalan stabil setidaknya selama 8 jam. Untuk sistem yang beroperasi 24/7, harus berjalan stabil setidaknya selama 24 jam. Jika sistem tidak dapat berjalan stabil, penurunan kinerja atau bahkan crash mungkin terjadi seiring dengan meningkatnya beban bisnis dan waktu operasi.
Standar
Kurva TPS tetap datar tanpa fluktuasi besar-besaran.
Untuk metrik sumber daya, tidak ada kebocoran atau pengecualian yang terjadi.
Metrik pemrosesan batch
Definisi
Jumlah data yang diproses per satuan waktu oleh program pemrosesan batch. Umumnya diukur dengan jumlah data yang diproses per detik. Efisiensi pemrosesan adalah metrik paling penting untuk memperkirakan jendela waktu pemrosesan batch. Waktu mulai dan akhir jendela waktu pemrosesan batch dari sistem yang berbeda mungkin tumpang tindih. Sistem mungkin memiliki beberapa proses batch yang dilakukan secara bersamaan, dan jendela waktu mereka bisa tumpang tindih. Tugas pemrosesan batch jangka panjang memengaruhi kinerja perdagangan daring real-time.
Standar
Jika melibatkan sejumlah besar data, jendela waktu pemrosesan batch yang pendek lebih disukai.
Kinerja perdagangan daring real-time tidak boleh terpengaruh.
Metrik skalabilitas
Definisi
Rasio antara peningkatan sumber daya perangkat keras dan peningkatan kinerja ketika program aplikasi atau sistem operasi diterapkan dalam mode kluster. Rumus: (Peningkatan kinerja / Kinerja asli) / (Peningkatan sumber daya / Sumber daya asli) × 100%. Tren metrik skalabilitas dapat diperoleh setelah beberapa kali pengujian. Jika sistem aplikasi memiliki skalabilitas tinggi, nilai metrik skalabilitasnya harus linear atau mendekati linear. Sistem terdistribusi skala besar sering kali memiliki skalabilitas tinggi.
Standar
Dalam kasus ideal, peningkatan sumber daya dan peningkatan kinerja berada dalam hubungan linear.
Peningkatan kinerja harus 70% atau lebih tinggi.
Metrik keandalan
Penyebaran Hot Standby
Penyebaran hot standby digunakan untuk memastikan keandalan tinggi. Metrik berikut dapat digunakan untuk mengukur keandalan:
Apakah pergantian node berhasil dan waktu aktual yang dikonsumsi.
Apakah bisnis terganggu selama pergantian node.
Apakah pergantian balik node berhasil dan waktu aktual yang dikonsumsi.
Apakah bisnis terganggu selama pergantian balik node.
Berapa banyak data yang hilang selama pergantian balik node. Dalam pengujian hot standby, Anda dapat menggunakan alat pembangkit tekanan untuk menerapkan tekanan kinerja pada sistem, memastikan bahwa hasil pengujian konsisten dengan kondisi produksi aktual.
Arsitektur Kluster
Metrik berikut dapat digunakan untuk mengukur keandalan kluster untuk sistem yang menggunakan arsitektur kluster:
Apakah bisnis terganggu ketika sebuah node dalam kluster mengalami kerusakan.
Apakah sistem perlu di-restart ketika node baru ditambahkan ke kluster.
Apakah sistem perlu di-restart ketika node yang rusak pulih dan kemudian ditambahkan ke kluster.
Apakah bisnis terganggu ketika node yang rusak pulih dan kemudian ditambahkan ke kluster.
Berapa lama waktu pergantian node. Dalam pengujian keandalan kluster, Anda dapat menggunakan alat pembangkit tekanan untuk menerapkan tekanan kinerja pada sistem, memastikan bahwa hasil pengujian konsisten dengan kondisi produksi aktual.
Cadangan dan Pemulihan
Item ini memverifikasi apakah mekanisme cadangan dan pemulihan sistem efektif dan andal, termasuk cadangan dan pemulihan sistem, cadangan dan pemulihan database, serta cadangan dan pemulihan aplikasi. Metrik berikut dapat digunakan untuk mengukur keandalan cadangan dan pemulihan:
Apakah cadangan berhasil dan waktu aktual yang dikonsumsi.
Apakah cadangan diotomatisasi menggunakan skrip.
Apakah pemulihan berhasil dan waktu aktual yang dikonsumsi.
Apakah pemulihan diotomatisasi menggunakan skrip.
Pemilihan dan verifikasi metrik bergantung pada tujuan pengujian dan persyaratan pengujian untuk sistem. Metrik yang berbeda dapat digunakan untuk sistem yang berbeda, tujuan pengujian yang berbeda, atau persyaratan pengujian yang berbeda.
Jika beberapa sistem memerlukan kemampuan akses pengguna tambahan di front-end, Anda harus menambahkan metrik konkurensi akses pengguna.
Untuk memverifikasi kinerja pemrosesan batch, gunakan efisiensi pemrosesan batch dan jendela waktu pemrosesan batch.
Untuk memverifikasi kapasitas kinerja sistem, Anda harus menentukan persyaratan metrik dalam persyaratan pengujian berdasarkan definisi metrik.
Setelah metrik pengujian diperoleh, Anda harus menentukan prasyarat terkait (seperti beban kerja dan sumber daya sistem).