K6-101 & Api LoadTest — TR

Umut Yasin Colak
2 min readJan 9, 2022

--

Merhaba bugün K6 hakkında birkaç 101 bilgi öğrenip minik bir alıştırma yazacağız.

K6 nedir?
K6, performans testini mühendislik ekipleri için kolay ve üretken hale getiren açık kaynaklı bir LoadTest aracıdır. K6 kullanarak sistemlerinizin güvenilirliğini ve performansını test edebilirsiniz.

K6 nasıl kurulur ?

Herhangi bir kurulum yapar gibi kuruyoruz.

brew install k6

Daha fazlası için: https://k6.io/docs/getting-started/installation/

Kurulum bittikten sonra bir .js dosyası yaratıyoruz. K6'i import ederek başlıyoruz.(örneğin: script.js)

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

Daha sonra requestin ne kadar süre ve kaç user ile atılacağını belirten bir options ekleyeceğiz.
(Daha fazlası için: https://k6.io/docs/using-k6/options/)

export const options = {stages: [{ duration: '3s', target: 1 }],};

Stage içerisine birden fazla duration ve target ekleyebiliriz.

export const options = {stages: [
{ duration: '3s', target: 1},
{ duration: '5s', target: 2},
{ duration: '8s', target: 3},
{ duration: '13s', target: 5}]};

Daha sonra default function oluşturmamız gerekiyor.
Daha fazlası için; https://k6.io/docs/using-k6/test-life-cycle/

export default function (){http.get('https://httpbin.org/');}

Oluşturduktan sonra statusleri görmek için birde log ekleyelim.

import http from 'k6/http';import { check, sleep } from 'k6';export const options = {stages: [{ duration: '3s', target: 1},{ duration: '5s', target: 2},{ duration: '8s', target: 3},{ duration: '13s', target: 5}]};export default function () {const res = http.get('https://httpbin.org/');console.log(res.status)}

Run edebilmek için terminalde script file’ı run edelim.

k6 run script.js

Start;

End;

iterations — http_reqs: Requestin toplam kaç kez atıldığını bize verir.
http_req_failed: Hatalı isteklerin oranı.

Daha fazlası için: https://k6.io/docs/using-k6/metrics
Example Js file için: https://github.com/umutcolak/K6-101-Example

Bir sonraki K6 yazımda bahsedeceklerim;
-Post Request
-Load Json file
-Grafana integration

--

--