Ders 09 / 16
Erişilebilirlik ve Gecikme Ölçümü
Uçtan uca sağlık göstergesi bir örneklemedir: dört hedefli bir sınama listesinde kırk öznenin 36'sı hiç sınanmaz, hizmet erişilebilirliği 37,5 ile 62,5 arasında salınırken gerçek değer 57,5'te durur ve göstergenin çözünürlüğü özne sayısı değil hedef sayısıdır.
İçindekiler
Önceki üç ders de ağın içinden bakıyordu: aygıtın ürettiği kayıt, aygıtın verdiği yanıt, hattan geçen paket. Üçünün de öznesi tek tek aygıtlardı ve üçünde de ölçülen şey kaç aygıtın görünmediğiydi.
İşletmede sorulan asıl soru ise dışarıdan sorulur ve tek cümledir: bir uçtan öbür uca gidilebiliyor mu, ve ne kadar sürede? Bu soruyu yanıtlayan sınamalar bir sayıya toplanır ve o sayı gösterge tablosunun en üstüne yazılır. Bu dersin sorusu, o tek sayının kim adına konuştuğudur.
İki Ayrı Sözcük
Bu derste birbirine karıştırılan iki kavram ayrı adlarla anılır ve ayrım bağlayıcıdır.
Erişilebilirlik bir uçtan bir hedefe gidilip gidilemediğidir. Ölçen şey bir erişilebilirlik sınamasıdır: bir yankı isteği gönderilir, yanıt beklenir, sonuç ikili çıkar. Sınamanın kendisi ve yanıtsızlığın kaç ayrı nedene uyduğu Linux Ağ Yönetimi ve Sorun Giderme kursunda kuruldu; burada sınama bir yordam olarak değil, bir veri kaynağı olarak kullanılır.
Hizmet erişilebilirliği ise bir orandır: sınamaların kaçının başarılı olduğu. İkili bir sonuçtan türetilir ve yüzde olarak yazılır. Gösterge tablosunda gördüğümüz sayı budur.
Aradaki fark ölçünün merkezindedir. Erişilebilirlik bir özne hakkındadır; hizmet erişilebilirliği bir küme hakkındadır ve kümenin kim olduğunu sınama listesi belirler. Liste bir kaldıraçtır: tek bir yapılandırma dosyası, kırk öznenin hangisinin adına konuşulacağını seçer.
Gösterge tasarımı, uyarı eşikleri ve hata bütçesi Gözlemlenebilirlik ve Güvenilirlik kursunun konusudur ve burada tekrarlanmaz. Burada ölçülen şey göstergenin nasıl tasarlanacağı değil, tasarlanmış bir göstergenin hangi özneyi temsil etmediğidir.
Sınama Nasıl Kurulur
# ogretilen sinama tanimi ve gosterge tablosu bicimi , calistirilmamistir sinama tanimi ad uctan-uca-erisim hedef listesi aygit-03, aygit-11, aygit-27, aygit-38 yordam erisilebilirlik sinamasi, 5 deneme, 1 s aralik basari kosulu en az 4 deneme yanit aldi gecikme degeri denemelerin ortancasi pencere 24 sa gosterge tablosu hizmet erisilebilirligi ....% ortalama gecikme .... ms en yavas hedef .... ms hedef sayisi 4
Tanımın en önemli satırı hedef listesidir ve gösterge tablosunda görünmez. Tabloda
hedef sayısı alanı bulunsa bile hedeflerin kimler olduğu ve envanterin kaç özne
içerdiği yazmaz. Gösterge yüzdeyi bildirir, paydayı bildirmez.
Gösterge Bir Örneklemedir
Sınama listesi kırk özneden bir alt küme seçer ve gösterge yalnız o alt kümeyi ölçer. Bu, ilk dersteki örnekleme oranıyla aynı yapıdadır — orada olaylar seçiliyordu, burada özneler seçiliyor. Kaldıracın kuyruğu da aynı biçimde iki katlıdır: listede olmayan özne göstergeye hiç girmez, ve listede olmayan bir özne bozuksa gösterge yeşil kalır.
İkinci ve daha az fark edilen sonuç çözünürlüktür. Dört hedefli bir sınamada oran ancak 0, 25, 50, 75 ve 100 değerlerini alabilir; ölçülebilen en küçük fark 100/4 = 25 puandır. Böyle bir göstergeye yüzde birlik bir eşik koymak, ölçünün altındaki bir farkı bildirmesini istemektir.
Ölçümün varsayımları:
- GB22 — Kırk özne kursun sabit topluluğudur ve bu derste değiştirilmez.
- GB23 — Bir özne, pencerede en az bir ağır olay ürettiyse erişilemez sayılır. Kâhin kurgudur; sınama bu bilgiyi kullanmaz, yalnız sonucu onunla karşılaştırılır.
- GB24 — Her hedef bir kez sınanır ve sınama ikili sonuç verir. Deneme yinelemesi ve başarı koşulu sonucu değiştirmez, yalnız gürültüyü azaltır; ölçüm bu yüzden tek denemeyi alır.
- GB25 — Ölçülen gecikme, hedefin kendi gecikmesidir. Yol üzerindeki aygıtların katkısı bu derste modellenmez; modellenseydi ölçülen değerler büyür, aşağıdaki eğilim değişmezdi.
- GB26 — Sınama listesinin sırası kurgudan gelen sabit bir dizidir ve listeler iç içedir: sekiz hedefli liste, dört hedefli listenin tümünü içerir. Sıra değişirse görünmeyen özneler değişir, sayıları benzer kalır.
- GB27 —
hizmet erişilebilirliğiyalnız sınanan hedefler üzerinden hesaplanır; sınanmayan özne paya da paydaya da girmez. Sahadaki hesap da böyledir. - GB28 — Kırk öznede ölçülebilen en küçük fark 1/40 = 0,025’tir; dört hedefli bir listede ise 1/4 = 0,25. Göstergenin çözünürlüğü envantere değil, listeye bağlıdır.
- GB29 — Sınamalar bağımsız kabul edilir: her hedefin sonucu yalnız kendi durumundan gelir, yol paylaşımı modellenmez. Modellenseydi göstergenin salınımı artardı.
Ölçüm
"""Uctan uca saglik: sinama listesi tek kaldirac, olculen sey gostergenin temsil etmedigi. Bolum 1 - kirk ozne; agir olay ureten ozne erisilemez sayilir. Bolum 2 - bes sinama listesi: hizmet erisilebilirligi, gecikme gostergesi ve kuyruk. """ TOHUM = 20260812 def uretec(tohum): d = tohum % 2147483646 + 1 def r(n): nonlocal d d = (d * 48271) % 2147483647 return d % n return r def ozneler(sayi=40, tohum=TOHUM): r, liste = uretec(tohum), [] for i in range(sayi): liste.append({"no": i + 1, "kapasite": 20 + r(81), "gecikme": 5 + r(45), "sinif": ("etkilesim", "toplu", "yedek")[r(3)], "ozel": r(9) == 0}) return liste def olaylar(oz, sayi=400, tohum=TOHUM + 3): r, liste = uretec(tohum), [] for i in range(sayi): o = oz[r(len(oz))] liste.append({"no": i + 1, "ozne": o["no"], "agir": r(25) == 0}) return liste def sinama_sirasi(oz, tohum=TOHUM + 11): """Sinama listesinin sirasi; onekleri ic ice hedef kumeleri verir.""" r, kalan, sira = uretec(tohum), [o["no"] for o in oz], [] while kalan: sira.append(kalan.pop(r(len(kalan)))) return sira oz = ozneler() ol = olaylar(oz) gec = {o["no"]: o["gecikme"] for o in oz} agir = {o["no"]: 0 for o in oz} for x in ol: if x["agir"]: agir[x["ozne"]] += 1 erisilemez = {n for n, c in agir.items() if c >= 1} sira = sinama_sirasi(oz) print(f"özne {len(oz)} | ağır olay {sum(agir.values())} | erişilemez özne " f"{len(erisilemez)} | gerçek hizmet erişilebilirliği " f"{100 * (len(oz) - len(erisilemez)) / len(oz):.1f}%") print(f"gerçek gecikme: ortalama {sum(gec.values()) / len(oz):.1f} ms, " f"en yavaş {max(gec.values())} ms, en hızlı {min(gec.values())} ms") print() print(f"{'hedef':>6s} {'sınanmayan':>11s} {'hizmet eriş.':>13s} {'çözünürlük':>11s} " f"{'ort. ms':>8s} {'en yavaş':>9s} {'görünmeyen':>11s} {'kaçan ağır':>11s}") for sayi in (4, 8, 16, 32, 40): h = sira[:sayi] basarili = [n for n in h if n not in erisilemez] print(f"{sayi:6d} {len(oz) - sayi:11d} {100 * len(basarili) / sayi:12.1f}% " f"{100 / sayi:10.1f}p {sum(gec[n] for n in h) / sayi:8.1f} " f"{max(gec[n] for n in h):9d} {len(erisilemez - set(h)):11d} " f"{sum(c for n, c in agir.items() if n not in h):11d}")
özne 40 | ağır olay 22 | erişilemez özne 17 | gerçek hizmet erişilebilirliği 57.5%
gerçek gecikme: ortalama 23.4 ms, en yavaş 48 ms, en hızlı 6 ms
hedef sınanmayan hizmet eriş. çözünürlük ort. ms en yavaş görünmeyen kaçan ağır
4 36 50.0% 25.0p 22.0 40 15 20
8 32 37.5% 12.5p 21.6 40 12 15
16 24 62.5% 6.2p 21.1 40 11 14
32 8 56.2% 3.1p 26.0 48 3 3
40 0 57.5% 2.5p 23.4 48 0 0
Temsil Edilmeyen Özne
Dört hedefli listede gösterge 50,0% yazar. Bu sayının arkasında iki başarılı ve iki başarısız sınama vardır — toplam dört gözlem. Aynı anda kırk öznenin 36’sı hiç sınanmamıştır, 15 erişilemez özne hiçbir sınamada görünmez ve 20 ağır olay göstergeye hiç girmez.
Buradaki yapı ilk dersin sonucuyla aynıdır ve tersinden okunur. Orada rapor edilmeyen özne gösterge tablosunda boşluk bırakıyordu; burada boşluk bile bırakmaz, çünkü gösterge tek bir yüzdedir ve yüzdenin içinde boşluk görünmez. Sınanmayan özne göstergeyi ne yükseltir ne düşürür; göstergenin dışındadır.
On altı hedefte sınanmayan özne 24’e, otuz iki hedefte 8’e iner. Görünmeyen erişilemez özne aynı hızda azalmaz: 15, 12, 11, 3. Üçüncü satırda listenin genişlemesi hedef sayısını ikiye katlar ama görünmeyen erişilemez özneyi yalnız birer birer düşürür — çünkü listeye eklenen hedefler çoğunlukla zaten çalışan öznelerdir. Kapsamı büyütmek, kuyruğu orantılı olarak küçültmez.
Göstergenin Kendi Gürültüsü
Sağdaki sütunlar kadar önemli olan şey soldaki yüzdenin nasıl davrandığıdır. Sınama listesi büyürken gösterge sırasıyla 50,0, 37,5, 62,5, 56,2 ve 57,5 okur. Gerçek değer bütün pencere boyunca 57,5’tir ve hiç değişmemiştir. Ağda hiçbir şey olmadan gösterge 37,5 ile 62,5 arasında, yani yirmi beş puanlık bir bantta salınmıştır.
Nedeni çözünürlük sütununda yazılıdır. Dört hedefli bir listede tek bir sınamanın sonucu göstergeyi 25 puan oynatır; sekiz hedefte 12,5, kırk hedefte 2,5 puan. Bir uyarı eşiği bu çözünürlüğün altına konursa uyarı ağı değil, listeyi ölçer.
Bunun doğrudan bir işletme sonucu vardır: küçük hedef listesiyle hesaplanan bir hizmet erişilebilirliği oranı, eğilim olarak okunamaz. İki ardışık pencerede 50 ve 75 görülmesi bir iyileşme değil, tek bir öznenin durum değiştirmesidir. Ölçünün bandı, bölenin kendisidir.
Ortalamanın Gizlediği
Gecikme sütunları üçüncü bir kuyruk gösterir. Dört hedefte ölçülen ortalama 22,0 ms, kırk öznenin gerçek ortalaması 23,4 ms. Aradaki fark küçüktür ve gösterge bu yüzden doğru görünür.
Yanıltıcı olan sütun ortalama değil, en yavaş olandır. Dört, sekiz ve on altı hedefli listelerin üçünde de ölçülen en yavaş değer 40 ms’dir. Topluluğun gerçek en yavaş öznesi ise 48 ms’dir ve ancak otuz iki hedefli listede görünür. Yani gösterge, on altı hedefe kadar kuyruğu sekiz milisaniye eksik bildirir ve bunu hiçbir belirti vermeden yapar.
Ortalama ile en yavaş arasındaki ilişki de tersine döner: otuz iki hedefte ortalama 26,0 ms’ye çıkar, çünkü listeye yavaş özneler girmiştir. Gösterge kötüleşmiş görünür ama ağ değişmemiştir; yalnız görüş alanı genişlemiştir. Bir göstergenin kötüleşmesi, ölçtüğü şeyin kötüleştiği anlamına gelmez.
Sınamalar Bağımsız Değildir
Ölçüm her hedefi ayrı bir gözlem sayar ve yüzdeyi buna göre hesaplar. Sahada bu varsayım yalnız kısmen tutar, çünkü sınamalar aynı noktadan başlar ve yolları ortaktır.
Bir sınama noktasından çıkan bütün hedefler ilk birkaç aygıtı paylaşır. Paylaşılan bir aygıt bozulursa hedeflerin tümü birden başarısız olur ve gösterge %0’a düşer. Kırk öznenin otuz dokuzu sağlam olsa bile tablo tam bir kesinti bildirir. Ters durum daha sinsidir: sınama noktasından uzaktaki bir aygıt bozulduğunda ona giden hedef sayısı bir ya da iki olduğu için gösterge yalnız birkaç puan düşer ve eşiğin altında kalır.
Bu yüzden tek noktadan ölçülen bir yüzde, bir konum hakkında bilgi vermez. Yüzdenin düşmesi “ağın şu kadarı bozuk” demek değil, “bu noktadan bakınca şu kadarı görünmüyor” demektir. Konumu ayırt etmenin yolu bölenle oynamak değil, sınama noktasını çoğaltmaktır: aynı hedef listesi iki ayrı noktadan koşturulduğunda, yalnız bir noktadan başarısız olan hedefler o noktaya özgü bir sorunu, iki noktadan da başarısız olanlar hedefin kendisindeki bir sorunu gösterir.
Ölçümde bu ayrım modellenmedi; sınamalar bağımsız kabul edildi ve her hedefin sonucu yalnız kendi durumundan geldi. Modellenseydi hizmet erişilebilirliği sütunundaki salınım artardı, çünkü paylaşılan bir aygıtın durumu birden çok hedefi aynı yönde iterdi. Bağımsızlık varsayımı göstergeyi olduğundan kararlı gösterir.
Etkin ve Edilgen Ölçüm
Yukarıdaki ölçüm etkin ölçümdür: sınama trafiğini ölçen taraf üretir. Bu konunun ilk üç dersi ise edilgen ölçümdü — hiçbir paket eklenmeden, zaten var olan trafikten okunuyordu. İkisinin kuyrukları ters yerlerdedir ve bu, dördünü birlikte okumanın gerekçesidir.
Edilgen ölçüm yalnız konuşan özneyi görür. Trafiği olmayan bir aygıt akış kaydı üretmez, yakalamaya girmez ve bildirim göndermez; ilk derste kaybolan yirmi altı özne bu yüzden kaybolmuştu. Buna karşılık edilgen ölçüm gerçek kullanıcı trafiğini ölçer: gördüğü gecikme, birinin gerçekten yaşadığı gecikmedir.
Etkin ölçüm tersini yapar. Sınama trafiğini kendisi ürettiği için sessiz özneyi de ölçebilir; listeye konan bir aygıt hiç kullanılmıyor olsa bile sınanır. Bedeli iki katlıdır. Ölçtüğü gecikme kimsenin yaşamadığı bir gecikmedir — sınama paketleri gerçek yükün yolundan, gerçek yükün boyutundan ve gerçek yükün sınıfından farklı olabilir. İkincisi, ölçüm listeyle sınırlıdır: etkin ölçüm neyi ölçeceğini bilmek zorundadır, edilgen ölçüm ise bilmediğini de görebilir.
İki yöntemin ortak boşluğu yoktur ve bu bir tesadüf değildir. Edilgen ölçümün göremediği özne sessiz olandır; etkin ölçümün göremediği özne listede olmayandır. Bir aygıtın hem sessiz hem listede olmaması ayrı bir eksikliktir ve envanterin kendisinden gelir. Aynı sonuç izleme modellerinin karşılaştırmasında da çıkmıştı: bağımsız kör noktalar üst üste konduğunda kuyruk küçülür, ama envanterin görmediği özne hiçbirinde görünmez.
Kuyruğu Daraltmak
Üç daraltma, göstergenin kimin adına konuştuğunu görünür kılar.
Birinci daraltma — paydayı yazmak. Gösterge tablosuna hedef sayısı ile birlikte
envanterdeki özne alanı konur. Dört hedefli bir listede tablo “%50, 4/40 özne” der ve
okuyan kişi neyin ölçülmediğini görür. Bu, hiçbir ölçüm eklemeden yapılan bir düzeltmedir.
İkinci daraltma — çözünürlüğü eşiğe bağlamak. Uyarı eşiği, listenin çözünürlüğünden büyük seçilir. Dört hedefli bir liste için 25 puandan küçük bir eşik tanımlanamaz; tanımlanmak isteniyorsa liste büyütülmelidir. Eşik ile bölen birlikte kararlaştırılır.
Üçüncü daraltma — hedef listesini önceki derslerin çıktısıyla beslemek. Telemetride hiç görünmeyen özne, izlemede hiç raporlanmayan özne ve yakalamada hiç yakalanmayan özne, sınama listesinin ilk adaylarıdır. Üç ders de kimin görünmediğini sayıyordu; bu ders o listenin nereye yazılacağını söyler. Böyle beslenen bir liste, rastgele seçilmiş bir listeden daha küçük olduğu hâlde daha çok kuyruk kapatır.
Özet
- Erişilebilirlik bir özne hakkındadır ve ikili sonuç verir; hizmet erişilebilirliği bir orandır ve kümesini sınama listesi belirler — liste bir kaldıraçtır.
- Dört hedefli listede gösterge 50,0% yazarken kırk öznenin 36’sı hiç sınanmaz, 15 erişilemez özne görünmez ve 20 ağır olay göstergeye hiç girmez.
- Liste genişledikçe sınanmayan özne 36’dan 0’a iner ama görünmeyen erişilemez özne aynı hızda azalmaz (15, 12, 11, 3): kapsamı büyütmek kuyruğu orantılı küçültmez.
- Gerçek değer 57,5%’te sabitken gösterge 37,5 ile 62,5 arasında salınır; çözünürlük dört hedefte 25, kırk hedefte 2,5 puandır ve uyarı eşiği bu bandın altına konamaz.
- Ölçülen en yavaş değer on altı hedefe kadar 40 ms’de kalır, gerçek en yavaş 48 ms’dir; otuz iki hedefte ortalama yükselir çünkü ağ değil, görüş alanı değişmiştir.
Sonraki Adım
Bu konu boyunca dokunulan her kaldıraç gözlemin kaldıracıydı. Örnekleme oranı, zaman aşımı eşiği, yakalama filtresi ve sınama listesi — dördü de neyin görüleceğini belirliyor, ama ağın kendisine dokunmuyordu. Yanlış ayarlanmış bir örnekleme oranı bir aygıtı raporun dışına düşürür; bir bağlantıyı düşürmez. Ölçünün bütün ağırlığı buradan geliyordu: kuyrukta kalan özne zarar görmüyor, yalnız görünmüyordu.
Sonraki konu bu ayrımı kaldırır. Kaldıraç artık gözlemin değil, yapılandırmanın kendisi olursa ne olur? Tek bir kural yine kırk özneye birden uygulanır, ama bu kez uygulandığı anda aygıtların davranışı değişir ve kuyrukta kalan özne raporun dışına değil, hizmetin dışına düşer.
İlerlemeni kaydetmek ve not almak için Giriş yap
Notlarım
Not almak için giriş yapmalısın.