Untuk menguji beban pada server menggunakan K6, Anda dapat menggunakan beberapa skenario pengujian yang umum. Berikut adalah beberapa jenis skenario pengujian beserta contoh script untuk masing-masing skenario:
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '2m', target: 50 }, // Meningkatkan ke 50 pengguna dalam 2 menit
{ duration: '5m', target: 50 }, // Tetap di 50 pengguna selama 5 menit
{ duration: '2m', target: 100 }, // Meningkatkan ke 100 pengguna dalam 2 menit
{ duration: '5m', target: 100 }, // Tetap di 100 pengguna selama 5 menit
{ duration: '2m', target: 0 }, // Menurunkan ke 0 pengguna dalam 2 menit
],
};
export default function () {
let res = http.get('https://yourwebsite.com');
check(res, {
'status was 200': (r) => r.status == 200,
});
sleep(1);
}
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '10m', target: 200 }, // Meningkatkan ke 200 pengguna dalam 10 menit
{ duration: '3h', target: 200 }, // Tetap di 200 pengguna selama 3 jam
{ duration: '10m', target: 0 }, // Menurunkan ke 0 pengguna dalam 10 menit
],
};
export default function () {
let res = http.get('https://yourwebsite.com');
check(res, {
'status was 200': (r) => r.status == 200,
});
sleep(1);
}
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '2m', target: 50 }, // Meningkatkan ke 50 pengguna dalam 2 menit
{ duration: '10s', target: 500 }, // Lonjakan mendadak ke 500 pengguna dalam 10 detik
{ duration: '3m', target: 500 }, // Tetap di 500 pengguna selama 3 menit
{ duration: '10s', target: 50 }, // Menurunkan kembali ke 50 pengguna dalam 10 detik
{ duration: '2m', target: 0 }, // Menurunkan ke 0 pengguna dalam 2 menit
],
};
export default function () {
let res = http.get('https://yourwebsite.com');
check(res, {
'status was 200': (r) => r.status == 200,
});
sleep(1);
}
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '2m', target: 100 }, // Meningkatkan ke 100 pengguna dalam 2 menit
{ duration: '2m', target: 200 }, // Meningkatkan ke 200 pengguna dalam 2 menit
{ duration: '2m', target: 300 }, // Meningkatkan ke 300 pengguna dalam 2 menit
{ duration: '2m', target: 400 }, // Meningkatkan ke 400 pengguna dalam 2 menit
{ duration: '2m', target: 500 }, // Meningkatkan ke 500 pengguna dalam 2 menit
],
};
export default function () {
let res = http.get('https://yourwebsite.com');
check(res, {
'status was 200': (r) => r.status == 200,
});
sleep(1);
}
import http from 'k6/http';
import { check, sleep } from 'k6';
export let options = {
stages: [
{ duration: '1m', target: 100 }, // Meningkatkan ke 100 pengguna dalam 1 menit
{ duration: '2m', target: 100 }, // Tetap di 100 pengguna selama 2 menit
{ duration: '1m', target: 0 }, // Menurunkan ke 0 pengguna dalam 1 menit
],
};
export default function () {
let res = http.get('https://yourwebsite.com');
check(res, {
'status was 200': (r) => r.status == 200,
});
sleep(1);
}