Test Methodology
Test Methodology, Benchmark bölümündeki her değerin hangi düzenekte, hangi iş yüküyle ve hangi kurallarla üretildiğini tanımlayan sayfadır. Bir performans değeri ancak ölçüldüğü koşulla birlikte anlam taşır; platform sayfalarındaki her satır bu sayfadaki bir tanıma dayanır.
Düzenek, yük araçları, metrik tanımları, ölçüm kuralları ve değer sınıfları aşağıda yer alır.
Ölçüm Düzeneği
Düzenek iki fiziksel sunucudan oluşur: ölçülen cihaz (DUT, device under test) ve yük üreteci. İki sunucu araya yönetilen bir anahtar girmeden kablolanır; üreteç bir bacaktan istemci trafiğini basar, diğer bacaktan Kurum Servislerini taklit eder.
| Rol | Görev |
|---|---|
| Ölçülen cihaz | TR7 donanım platformu; yük dengeleme, TLS sonlandırma, sıkıştırma ve L4 yönlendirme |
| Yük üreteci | Ayrı bir sunucu; istemci yükü, Kurum Servisi benzetimi ve sayaç örnekleme |
| Bağlantı | Hız | Kullanım |
|---|---|---|
| İstemci bacağı | 40 GbE | İstemci trafiği; vService adresi bu bacakta |
| Kurum Servisi bacağı | 40 GbE | Kurum Servislerine giden trafik |
| İkinci Kurum Servisi yolu | 2 × 10 GbE | Ayrı PCIe yuvasında; ek yol |
| Yönetim | 1 GbE | Ölçüm trafiğinden ayrı; sayaç okuma ve kontrol |
Tablodaki bağlantılar genel düzeni gösterir. Her test, ölçülen metriğe göre farklı bir senaryoyla kurulur: bağlantı hızları, kablolama, adres sayıları ve yük üreteci yapılandırması teste göre değişir.
İstemci ve Kurum Servisi bacakları ayrı IP alt ağlarındadır. İstemci tarafında 48 kaynak adresi kullanılır; Kurum Servisi tarafında 8 sunucu adresi bulunur. Kablolama her kurulumda MAC adresleriyle doğrulanır.
Çerçeve boyutu
Ölçümler 1500 baytlık çerçeveyle alındı
Jumbo çerçeve ölçülmedi. Jumbo çerçeve aynı veri için paket sayısını yaklaşık altı kat azaltır; Throughput değerleri bu nedenle kötümser tarafta kalır.
Yük Üretimi ve Araçlar
| Araç | Tür | Ölçtüğü | Ölçümdeki parametreler |
|---|---|---|---|
| h1load | Açık kaynak HTTP/1 yük üreteci | HTTP requests/s | 24 iş parçacığı; eşzamanlılık taraması 1280 / 1536 / 2048 / 2560 bağlantı (16 sn); tepe noktasında 3 × 25 sn |
| dperf | Açık kaynak, DPDK tabanlı L4/L7 yük üreteci ve Kurum Servisi benzetimi | L4 HTTP RPS, L4 Concurrent Connections | İstemci 8 çekirdek, Kurum Servisi 8 çekirdek (ayrı fiziksel çekirdekler); 48 istemci adresi, 8 Kurum Servisi adresi |
| tls-perf | Açık kaynak TLS el sıkışma ölçer | TLS TPS (ECDSA-P256) | 52 iş parçacığı × 60 eşzamanlı bağlantı, 30 sn; el sıkışmadan sonra bağlantı kapatılır, uygulama verisi gönderilmez |
| wrk | Açık kaynak HTTP yük üreteci | Throughput, TLS throughput, Compression throughput | Throughput 24-32 iş parçacığı, 200-400 bağlantı; sıkıştırma 24 iş parçacığı, 1000 bağlantı, 35 sn |
| nginx | Açık kaynak web sunucusu | Throughput testlerinde sabit nesne sunan Kurum Servisi | 64 KB, 256 KB ve 1 MB nesneler |
Metrik Tanımları
| Metrik | Ne ölçülür | İş yükü | Değerin tanımı |
|---|---|---|---|
| HTTP requests/s | Açık tutulan HTTP/1.1 bağlantıları üzerinde saniyedeki istek | GET /; TR7 yanıtı kendisi üretir (gövdesiz 200), Kurum Servisi yok; telde istek başına ~210 bayt, 2 paket | Toplam istek / süre; gecikme ilk bayta kadar geçen süre (TTFB) |
| TLS TPS (ECDSA-P256) | Saniyede sıfırdan kurulan TLS oturumu (full handshake), ECDSA P-256 sertifika | Session ticket kapalı, sıfır bayt uygulama verisi | 30 sn ortalama |
| Throughput | Full proxy: cihaz istemciyle ve Kurum Servisiyle ayrı iki TCP bağlantısı kurar | 64 KB nesne | İki bacak ve iki yön toplamı; istemciye teslim edilen ayrıca yazılır. H7140 ve H7200'de L4 yolundaki en yüksek değer |
| TLS throughput | Kurulmuş TLS bağlantısında toplu şifreleme | 64 KB nesne, TLS 1.3 AES-GCM | Ağ kartının gönderdiği bayt |
| Compression throughput | Cihazın HTTP yanıtını gzip ile sıkıştırması | 64 KB gövde, içerik sınıfına göre | Sıkıştırma öncesi (girdi) bayt; oran, platform sayfalarındaki içerik sınıfı tablosundadır |
| L4 HTTP RPS | Kurulmuş kalıcı bağlantılar üzerinde yönlendirilen HTTP isteği; kararlı durumda el sıkışma yok | 1 milyon kalıcı bağlantı, 128 baytlık istek | Saniye başına gönderilen istek |
| L4 Concurrent Connections | Aynı anda açık tutulan bağlantı | Bağlantılar açılır ve boşta bekletilir | Cihazın bağlantı tablosundaki kayıt sayısı |
Ölçüm Kuralları
- Taze açılış. Yayın değeri taze açılmış cihazda alınır.
- Sıfır hata. Bağlantı, soket ya da HTTP hatası içeren koşu değer üretmez.
- Tekrar. Tepe noktaları en az üç bağımsız koşuyla alınır.
- İki taraf da ölçülür. Her koşuda hem ölçülen cihazın hem üretecin işlemci kullanımı aynı zaman penceresinde örneklenir.
- Üreteç kuralı. Üretecin işlemcisi %90'ın üstündeyse değer cihazın tavanı sayılmaz ve cihaz kapasitesi ayrıca bulunur.
- Kart ve denetleyici de sınırdır. Üretecin işlemcisi boş görünse bile ağ kartı, PCIe yuvası ya da ağ denetleyicisinin paket hızı doymuş olabilir; kart sayaçları her koşuda okunur.
- Tavan, hedef taramasıyla bulunur. Tek bir düşük hedefte temiz çıkmak tavan kanıtı değildir; hedef kademeli yükseltilir ve değerin hedefin gerisinde kalmaya başladığı nokta aranır.
- Derleme sabitlenir. Her koşu, değişmez bir derleme kimliğiyle kaydedilir.
Değer Sınıfları
Platform sayfalarındaki değerler aşağıdaki sınıflardan birine girer. Ölçüm düzeneğinin sınırını aşan değerler kapasite sınıfındadır.
| Sınıf | Koşul | Değerin anlamı |
|---|---|---|
| Ölçülen | Değer ölçüm düzeneğinde doğrudan alınır | Ölçülen değer |
| Kapasite | Değer ölçüm düzeneğinin sınırını aştığında ölçülen noktalardan hesaplanır | Cihazın kapasitesi |
