Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) · Pelajaran

Semakan, Ambang dan Metrik

Fahami semakan k6 untuk mengesahkan respons dan ambang bagi menetapkan matlamat prestasi.

Pelajaran 3 daripada 411 langkah

Semakan, Ambang dan Metrik ialah pelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) merangkumi sejumlah 4 pelajaran.

Sahkan Respons Ujian

Apabila menjalankan ujian prestasi, menghantar permintaan sahaja tidak mencukupi. Kita perlu memastikan bahawa pelayan memberikan respons dengan betul, bukan sekadar pantas.

Di sinilah checks digunakan. Checks membolehkan anda mengesahkan kandungan dan status respons pelayan.

Checks k6 Mudah

Check asas dalam k6 mengesahkan suatu syarat tentang respons. Jika syarat itu palsu, check gagal, tetapi ujian diteruskan.

Berikut ialah cara menyemak sama ada status respons HTTP ialah 200 (OK):

import http from 'k6/http';
import { check } from 'k6';

export default function () {
  const res = http.get('https://test.k6.io');
  check(res, {
    'status is 200': (r) => r.status === 200,
  });
  console.log(`Status: ${res.status}`);
}

Sahkan Kandungan Respons

Anda juga boleh menyemak teks atau data tertentu dalam badan respons. Ini penting untuk memastikan pelayan menyediakan maklumat yang dijangka.

Mari semak sama ada badan respons mengandungi rentetan tertentu:

import http from 'k6/http';
import { check } from 'k6';

export default function () {
  const res = http.get('https://test.k6.io');
  check(res, {
    'body contains "k6.io"': (r) => r.body.includes('k6.io'),
  });
  console.log(`Body includes 'k6.io': ${res.body.includes('k6.io')}`);
}

Gabungkan Beberapa Checks

Adalah perkara biasa untuk mengesahkan beberapa aspek daripada satu respons. Anda boleh menambah beberapa syarat dalam satu panggilan check().

Setiap syarat ialah check yang berasingan dan k6 akan melaporkan setiap satunya secara individu.

import http from 'k6/http';
import { check } from 'k6';

export default function () {
  const res = http.get('https://test.k6.io');
  check(res, {
    'status is 200': (r) => r.status === 200,
    'body size is > 0': (r) => r.body.length > 0,
    'header Content-Type exists': (r) => r.headers['Content-Type'] !== undefined,
  });
}

Memahami Metrik k6

k6 mengumpulkan pelbagai metrik prestasi secara automatik semasa ujian dijalankan. Metrik ini memberikan gambaran tentang tingkah laku sistem anda di bawah beban.

Metrik merangkumi perkara seperti masa respons, data yang dipindahkan dan bilangan pengguna maya (VU).

  • Metrik ialah ukuran kuantitatif prestasi.
  • k6 mengagregatkan metrik ini ke dalam ringkasan pada akhir ujian.
  • Metrik ini membantu mengenal pasti kesesakan dan trend prestasi.

Metrik Terbina Dalam yang Biasa

k6 menyediakan beberapa metrik terbina dalam yang sentiasa dikumpulkan. Antara metrik utama termasuk:

  • http_req_duration: Jumlah masa untuk permintaan HTTP.
  • http_req_failed: Kadar permintaan HTTP yang gagal (contohnya, status bukan 2xx).
  • vus: Bilangan semasa pengguna maya yang aktif.
  • iterations: Bilangan kali fungsi default dijalankan.
import http from 'k6/http';

export default function () {
  http.get('https://test.k6.io');
  // k6 automatically collects metrics like http_req_duration
  // and http_req_failed for this request.
}

Cipta Metrik Tersuai

Selain metrik terbina dalam, Anda boleh mentakrifkan metrik tersuai sendiri untuk menjejak logik aplikasi atau proses perniagaan tertentu.

k6 menawarkan pelbagai jenis metrik tersuai seperti Counter, Gauge, Trend dan Rate.

import http from 'k6/http';
import { Trend } from 'k6/metrics';

const myCustomTrend = new Trend('my_custom_processing_time');

export default function () {
  const start = Date.now();
  const res = http.get('https://test.k6.io');
  const end = Date.now();
  myCustomTrend.add(end - start); // Add value to custom trend metric
  console.log(`Request took ${end - start}ms`);
}

Tetapkan Matlamat Prestasi

Walaupun pemeriksaan mengesahkan respons individu, ambang mentakrifkan matlamat prestasi untuk keseluruhan pelaksanaan ujian Anda berdasarkan metrik terkumpul.

Jika ambang dilampaui, pelaksanaan ujian k6 akan gagal, yang menunjukkan kemerosotan prestasi atau SLA (Perjanjian Tahap Perkhidmatan) yang tidak dipenuhi.

Tambah Ambang pada Ujian Anda

Ambang ditakrifkan dalam objek options skrip k6 Anda. Anda menentukan metrik dan syarat yang mesti dipenuhinya.

Di sini, kami memastikan purata masa respons kurang daripada 200ms dan kurang daripada 1% permintaan gagal.

import http from 'k6/http';

export const options = {
  thresholds: {
    'http_req_duration{expected_response:true}': ['p(95)<200'], // 95th percentile response time < 200ms
    'http_req_failed': ['rate<0.01'], // less than 1% of requests failed
  },
};

export default function () {
  http.get('https://test.k6.io');
}

Semakan Pantas: Konsep k6

Manakah antara pernyataan berikut tentang pemeriksaan dan ambang k6 yang TRUE?

Ringkasan: Pemeriksaan, Ambang, Metrik

Syabas! Anda telah mempelajari cara menjadikan ujian k6 Anda lebih teguh dan berorientasikan matlamat.

  • Pemeriksaan mengesahkan ketepatan respons pelayan individu.
  • Metrik ialah ukuran kuantitatif yang dikumpulkan semasa pelaksanaan ujian, contohnya masa respons dan kadar ralat.
  • Ambang mentakrifkan matlamat prestasi berdasarkan metrik terkumpul dan menggagalkan ujian jika syarat tidak dipenuhi.
Percuma untuk bermula

Pelajari Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Semakan, Ambang dan Metrik” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6), termasuk “Semakan, Ambang dan Metrik”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Semakan, Ambang dan Metrik”?

Fahami semakan k6 untuk mengesahkan respons dan ambang bagi menetapkan matlamat prestasi. Anda berlatih Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Semakan, Ambang dan Metrik” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) ini?

Ya. Setiap pelajaran Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pemasangan k6 dan CLI
  2. Menulis Skrip Asas k6
  3. Semakan, Ambang dan Metrik
  4. Kumpulan dan Tag untuk Menyusun Ujian
← Kembali ke Ujian Beban dan Penandaarasan Prestasi (JMeter dan k6)