Ana içeriğe geç

Performans Testi

İngilizcesi
Performance Testing
Okunuşu
pırformıns testing
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/performance-testing

Kısaca

Performans testi, bir sistemin beklenen ve aşırı yük altındaki hızını, kararlılığını ve ölçeklenebilirliğini yanıt sürelerinden kırılma noktasına kadar ölçer.

Performans testi (performance testing) nedir?

Performans testi birkaç test türünü kapsayan bir şemsiye terimdir. Yük testi (load testing) beklenen trafik altındaki davranışı kontrol eder; stres testi bunun ötesine geçerek kırılma noktasını bulur; ani yük testi (spike testing), bir bilet satışının açılması gibi ani bir artış uygular; soak ya da dayanıklılık testi, bellek sızıntılarını ve yavaş bozulmayı ortaya çıkarmak için saatlerce sabit bir yük çalıştırır; ölçeklenebilirlik testi de kaynaklar eklendikçe performansın nasıl değiştiğini kontrol eder.

Temel ölçüler; genellikle ortalamalar yerine p95 ve p99 gibi yüzdelik dilimlerle raporlanan gecikme, saniyedeki istek sayısıyla throughput, hata oranı ve CPU, bellek ve veritabanı bağlantıları gibi kaynak kullanımıdır. "Saniyede 500 istekte p95 300 ms'nin altında" gibi net hedefler sonuçları geçti ya da kaldıya dönüştürür.

k6, JMeter, Gatling ve Locust gibi araçlar, gerçekçi yolculukları izleyen betiklerle çok sayıda kullanıcıyı simüle eder. Testler gerçekçi veri boyutlarıyla production'a benzeyen bir ortamda çalışmalı ve büyük değişikliklerden sonra, ideal olarak zamanlanmış bir hattın parçası olarak tekrarlanmalıdır; böylece gerilemeler kullanıcılar fark etmeden ortaya çıkar.

Sık yapılan bir yanlış, performans testinin yalnızca yayına çıkmadan hemen önce yapıldığını düşünmektir. Veritabanı tasarımının ölçeklenemediğini o zaman keşfetmek, bunu öğrenmenin en pahalı anıdır. Geliştirme sırasında yapılan küçük, düzenli performans kontrolleri, profilleme ve production izlemeyle birlikte sorunları henüz düzeltmesi ucuzken yakalar.

Önemli noktalar

  • Performans testi yük altında hızı, kararlılığı ve ölçeklenebilirliği ölçer.
  • Yük, stres, ani yük, dayanıklılık ve ölçeklenebilirlik testlerini kapsar.
  • p95 ve p99 gibi yüzdelik dilimleri, throughput'u ve hata oranını izleyin.
  • k6, JMeter, Gatling ve Locust yaygın araçlardır.
  • Yalnızca yayından önce değil, production'a benzeyen bir ortamda düzenli olarak test edin.

Örnek

Geçti/kaldı hedefi olan bir yük testi (k6)javascript
import http from "k6/http";
import { check, sleep } from "k6";

export const options = {
  stages: [
    { duration: "1m", target: 200 },   // ramp up to 200 virtual users
    { duration: "5m", target: 200 },   // hold the load
    { duration: "1m", target: 0 },     // ramp down
  ],
  thresholds: {
    http_req_duration: ["p(95)<300"],  // 95% of requests under 300 ms
    http_req_failed: ["rate<0.01"],    // fewer than 1% errors
  },
};

export default function () {
  const res = http.get("https://staging.example.com/api/products");
  check(res, { "status is 200": (r) => r.status === 200 });
  sleep(1);
}

Sık sorulan sorular

Yük testi ile performans testi arasındaki fark nedir?

Performans testi şemsiye terimdir. Yük testi onun bir türüdür ve sistemi beklenen trafik miktarı altında kontrol eder. Stres, ani yük ve dayanıklılık testleri de diğer türleridir.

Neden ortalama yanıt süresi yerine yüzdelik dilimler kullanılır?

Ortalamalar yavaş istekleri gizler. 300 ms'lik bir p95, isteklerin %95'inin bundan hızlı olduğu demektir; bu da çoğu kullanıcının ne yaşadığını gösterir ve ortalamanın yumuşattığı yavaş kuyruğu ortaya çıkarır.

Performans testleri nerede çalışmalı?

Benzer donanım, yapılandırma ve veri hacimleriyle production'a olabildiğince yakın bir ortamda. Bir geliştiricinin dizüstü bilgisayarından gelen sonuçlar production davranışını nadiren öngörür.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar