QA Academy Logo
← Bloqa Qayıt
🇦🇿 AZ🇬🇧 EN
Performans Testi 28 İyul 2026 12 dəq oxuma

Performans və Yük Sınaqları: Grafana k6 və Apache JMeter İlə Yük Testi Bələdçisi

Sisteminizin minlərlə eyni vaxtda daxil olan istifadəçi (concurrent users) və böyük kampaniyalar zamanı çökməməsi üçün performans sınaqları həyati əhəmiyyət kəsb edir. Bu məqalədə ən populyar yük testi alətləri olan Apache JMeter və müasir kod əsaslı Grafana k6-nın praktiki tətbiqini araşdırırıq.

1. Performans Testlərinin Əsas Növləri

Load Testing (Yük Testi)

Sistemin gözlənilən normal və pik istifadəçi yükü altında davranışını və cavab müddətlərini ölçür.

Stress Testing (Stres Testi)

Sistemi sındırma nöqtəsinə (breaking point) qədər həddindən artıq yükləyərək bərpa qabiliyyətini yoxlayır.

Spike Testing (Qəfil Sıçrayış Testi)

İstifadəçi sayının qəflətən kəskin artıb azalması zamanı (məs: Black Friday başlanğıcı) dayanıqlığı yoxlayır.

Soak / Endurance Testing (Dözümlülük Testi)

Sistemi fasiləsiz olaraq uzun müddət (12-48 saat) stabil yük altında saxlayaraq yaddaş sızmalarını (memory leak) aşkar edir.

2. Grafana k6 İlə Kod Əsaslı Yük Testi Skripti

k6 JavaScript sintaksisi vasitəsilə testləri kod kimi yazmağa imkan verir:

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

export const options = {
    stages: [
        { duration: '30s', target: 50 },  // 30 saniyə ərzində 50 istifadəçiyə qalx
        { duration: '1m',  target: 50 },  // 1 dəqiqə 50 istifadəçi ilə sabit saxla
        { duration: '20s', target: 0 },   // 20 saniyədə 0-a endir
    ],
    thresholds: {
        http_req_duration: ['p(95)<500'], // Sorğuların 95%-i 500ms-dən tez cavab verməlidir
        http_req_failed: ['rate<0.01'],    // Xəta faizi 1%-dən az olmalıdır
    },
};

export default function () {
    const res = http.get('https://qaacademy.az/api/products');
    check(res, {
        'status is 200': (r) => r.status === 200,
        'response time OK': (r) => r.timings.duration < 500,
    });
    sleep(1);
}

3. Apache JMeter vs Grafana k6: Nə Zaman Hansını Seçməli?

  • Apache JMeter: Böyük Enterprise layihələr, zəngin GUI interfeysi, JDBC, JMS, FTP protokolları üçün idealdır.
  • Grafana k6: Müasir DevOps, CI/CD boru kəmərləri, Docker konteynerləri və developer-friendly JavaScript mühitləri üçün ən yaxşı seçimdir.

Tez-tez Verilən Suallar (FAQ)

Performans testində p95 (95th percentile) nə deməkdir?

p95 o deməkdir ki, istifadəçi sorğularının 95%-i bu müddətdən (məs: 400ms) daha tez başa çatıb, yalnız 5% ən yavaş sorğu bu həddi keçib.

Yük testini birbaşa Production serverdə icra etmək olarmı?

Məsləhət görülmür. Yük testləri adətən Production ilə eyni konfiqurasiyaya malik Staging və ya xüsusi Pre-Production mühitində icra edilir.

Sabir Tahirli

Sabir Tahirli

Chapter Lead & QA Automation Mütəxəssisi

Sabir Tahirli — Yüksək yüklü fintex sistemlərində Apache JMeter və Grafana k6 vasitəsilə yük, stres və dözümlülük (soak) sınaqlarının qurulması və avtomatlaşdırılması üzrə ekspertdir.